Voilà le code en question.
<?php
//**************
// sendmsg.php
//
// Script permettant l'envoi de SMS via l'API OVH
//
// F. Maurel
// Décembre 2011
//**************
//Numéro de téléphone de l'émetteur du SMS. Numéro configuré dans le manager OVH (ayant le droit d'envoyer des SMS) et au format +33xxxxxxxxx
$from="+33xxxxxxxxx";
//
// Code ci dessous à ne pas modifier
//
//nic-handle au format xx12345-ovh
$nic=$_GET['nic'];
//mot de passe associé au nic handle
$pass=$_GET['pass'];
//Numéro du destinataire du SMS
$to="+".trim($_GET['to']);
//Message à envoyer
$message=$_GET['message'];
//On crée l'identifiant du compte SMS à partir du nic-handle
$id=explode("-",$nic);
$sms_compte="sms-".$id[0]."-1";
smslog("[".date("d/m/y-H:i:s")."]\nNIC:".$nic."\nFROM:".$from."\nTO:".$to."\nMESSAGE:".$message);
// ouverture de la fonction soapi
try
{
// on travaille en soapi
$soap = new SoapClient("https://www.ovh.com/soapi/soapi-re-1.28.wsdl");
// connexion a votre manager avec vos identifiants, ici on utilise le compte xx123456-ovh ($nic) avec le mot de passe ovh123456 ($pass), le nic-handle est francais
$session = $soap->login("$nic", "$pass", "fr", false);
$result = $soap->telephonySmsSend($session, "$sms_compte", "$from", "$to", "$message", "", 1, "", "", "", "", "");
// affichage du resultat
smslog("\nRESULT:".$result."\n");
// on ferme la connexion au manager
$soap->logout($session);
}
catch(SoapFault $fault)
{
smslog("\nERROR:".$fault."\n");
}
function smslog($message)
{
if (!$fichier = fopen('/var/services/web/sms/log.txt', 'a+'))
echo "Echec ouverture fichier log";
else
{
echo $message;
fputs($fichier,$message);
fclose($fichier);
}
}
?>
A copier/coller dans une page sendsms.php (ou tout autre nom) et à sauvegarder dans le dossier /web/sms/
Pour la configuration, du DSM, l'URL est la suivante (si page appelée depuis le NAS qui héberge la page) :
http://localhost/sms/sendmsg.php?nic=NIC-OVH&pass=PASS-OVH&to=DESTINATAIRE&message=Hello world
Pour info, le DESTINATAIRE est fourni au format 336xxxxxxxx par le DSM alors qu'OVH demande le + avant le 33.
Il faut que ton compte SMS dans OVH soit de la forme sms-nichandle-1.
Pour ma part, en DSM3.2 ca marchait, et j'ai l'impression que depuis le passage en V4, la page n'est plus appelée par le DSM. Si j'appelle ma page au travers de Firefox je reçoit bien le SMS, mais aucun SMS avec le bouton de test du SMS.
DanyTheDog, peux-tu tester de ton côté afin de vérifier que la notification marche bien par SMS ?