Bienvenue à Blogs CodeS-SourceS Identification | Inscription | Aide

Matthieu Napoli

blog technique

Envoyer des SMS depuis votre serveur en PHP (ou autre langage CGI)

Bonjour à tous,

J'utilise depuis peu un service génial : l'envoi de SMS depuis Internet, à partir d'un script PHP s'exécutant sur votre serveur. Voici un exemple d'utilisation pour vous faire comprendre à quel point c'est simple.

Tout d'abord, dans ce tutorial j'utiliserai la plateforme TM4B.com, car elle est :

  • pas chère (7 centimes d'euro le SMS en France)
  • facile à utiliser
  • fiable (d'après les échos que j'en ai eu)
  • pas de frais fixes pour l'inscription (on ne paye que les SMS, et pas de limite minimum d'achat)
  • on peut simuler un envoi pour débugger les développements

1. Création d'un compte

Inscrivez vous (gratuitement) sur leur site et achetez quelques crédits pour tester le système (100 crédits par exemple, vous donnent une dizaine de SMS, et coutent 1 euro). Attention, si vous payez avec paypal, votre compte doit être vérifié (ce que m'a fait attendre paypal plusieurs jours pour le faire personnellement).

2. Envoi d'un SMS

L'envoi d'un sms se fait par méthode POST HTTP. Voici un exemple de code source permettant d'en envoyer un (à compléter avec vos identifiants de connexion).

<?php

$request = "";
// Nom d'utilisateur du comte TM4B
$param["username"] = "Bob";
// Mot de passe du comte TM4B
$param["password"] = "12345";
// Le contenu du SMS
$param["msg"] = "Hello World !";
// Les destinataires (séparés par un "pipe" | s'il y'en a plusieurs)
$param["to"] = "33123456789";
// Celui qui envoie le message
$param["from"] = "BarackObama";
// Route à utiliser
$param["route"] = "frst";
// Determine si l'envoi est simulé (si oui, c'est gratuit)
// Valeurs : "yes" / "no"

$param["sim"] = "yes";
// Pour être compatible avec l'API 2.0
$param["type"] = "broadcast";

//Construit la requete
foreach($param as $key=>$val){
    $request .= $key . '=' . urlencode($val);
    $request .= '&';
}
// Supprime le dernier "&"
$request = substr($request, 0, strlen($request) - 1);

// URL de la passerelle
$url = "http://www.tm4b.com/client/api/http.php";

//Envoie la requete avec curl
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1); // retourne le resultat en variable
curl_setopt($ch, CURLOPT_POST, 1); // méthode POST nécessaire pour les envois multiples
curl_setopt($ch, CURLOPT_POSTFIELDS, $request);
$response = curl_exec($ch);
curl_close($ch);

// Affiche le résultat
print $response;

?>

À noter que ce script nécessite l'extension PHP Curl (php_curl) activée.

La réponse du serveur, si il n'y a pas d'erreur, doit être de la forme : MT0015195005-1. Il s'agit de l'identifiant du SMS envoyé.


Voilà, bon courage pour la suite (l'API TM4B propose beaucoup de possibilité pour suivre le message). Par contre, pour recevoir des SMS, ça vous coutera plus cher.

Pour ma part, je compte surement installer ce système sur mon NSLU2 pour pouvoir recevoir des alertes à distance.

Ce post vous a plu ? Ajoutez le dans vos favoris pour ne pas perdre de temps à le retrouver le jour où vous en aurez besoin :
Posted: dimanche 31 mai 2009 14:38 par MadMatt
Classé sous : , , , ,

Commentaires

Pas de commentaires

Les commentaires anonymes sont désactivés

Les 10 derniers blogs postés

- Compte rendu : SharePoint / O365 : des pratiques pour une meilleure productivité par The Mit's Blog le 12-12-2014, 18:11

- [TFS] Suppression des feature SQL Entreprise en masse par Blog de Jérémy Jeanson le 12-06-2014, 09:18

- [Clean Code] règles de nommage par Fathi Bellahcene le 12-04-2014, 22:59

- Windows To Go 10 et Upgrades impossibles par Blog de Jérémy Jeanson le 12-04-2014, 21:38

- SharePoint OnPremise: Statistiques d’utilisation pour traquer les sites fantomes par Blog Technique de Romelard Fabrice le 12-03-2014, 10:28

- SharePoint 2007: Script PowerShell permettant le backup de toutes les collections de sites d’une application Web par Blog Technique de Romelard Fabrice le 12-02-2014, 10:00

- Xamarin : un choix précieux par .net is good... C# is better ;) le 12-01-2014, 15:10

- Office 365: Comparaison des composants pour préparer votre migration de SharePoint 2007 vers Office 365 par Blog Technique de Romelard Fabrice le 11-28-2014, 16:20

- Créer un périphérique Windows To Go 10 ! par Blog de Jérémy Jeanson le 11-21-2014, 04:54

- RDV à Genève le 12 décembre pour l’évènement “SharePoint–Office 365 : des pratiques pour une meilleure productivité !” par Le blog de Patrick [MVP Office 365] le 11-19-2014, 10:40