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

- Etes-vous yOS compatible ? (2/3) : la nouvelle plateforme Yammer–Office 365–SharePoint par Le blog de Patrick [MVP SharePoint] le 04-22-2014, 09:27

- [ #Yammer ] [ #Office365 ] Quelques précisions sur l’activation de Yammer Entreprise par Le blog de Patrick [MVP SharePoint] le 04-22-2014, 09:03

- Après Montréal, ce sera Barcelone, rendez-vous à la European SharePoint Conference 2014 ! par Le blog de Patrick [MVP SharePoint] le 04-19-2014, 09:21

- Emportez votre sélection de la MSDN dans la poche ? par Blog de Jérémy Jeanson le 04-17-2014, 22:24

- [ #Office365 ] Pb de connexion du flux Yammer ajouté à un site SharePoint par Le blog de Patrick [MVP SharePoint] le 04-17-2014, 17:03

- NFluent & Data Annotations : coder ses propres assertions par Fathi Bellahcene le 04-17-2014, 16:54

- Installer un site ASP.net 32bits sur un serveur exécutant SharePoint 2013 par Blog de Jérémy Jeanson le 04-17-2014, 06:34

- [ SharePoint Summit Montréal 2014 ] Tests de montée en charge SharePoint par Le blog de Patrick [MVP SharePoint] le 04-16-2014, 20:44

- [ SharePoint Summit Montréal 2014 ] Bâtir un site web public avec Office 365 par Le blog de Patrick [MVP SharePoint] le 04-16-2014, 18:30

- Kinect + Speech Recognition + Eedomus = Dommy par Aurélien GALTIER le 04-16-2014, 17:17