OVH Cloud OVH Cloud

sms + php

7 réponses
Avatar
rhum07
Bonjour à tous.

Est-il possible d'envoyer des sms via un script php ?

Meci pour vos réponses.

7 réponses

Avatar
DJiK
Est-il possible d'envoyer des sms via un script php ?



Bien sûr, il suffit de faire:
sms ("num de tel", "message");



Par contre il faudra les payer. Pour ça tu envoies ton n° de CB à
Merci de ta confiance! :-D

--
DJiK

Avatar
m-e-
Une petite recherche sur google devrait te permettre de trouver des sociétés proposant l'envoi de sms et offrant une passerelle de
com facilement interfaçable avec php (par ex HTTP).


Par exemple :
http://www.allmysms.com/php_files/services/api_http.php
Avatar
Vincent Courcelle
"rhum07" a écrit dans le message de news:
413c3b15$0$22040$
Bonjour à tous.

Est-il possible d'envoyer des sms via un script php ?

Meci pour vos réponses.


oui, c'est possible.






ah bon, tu veux aussi savoir comment ?
www.lesms.com
tu ne trouveras rien de gratuit, malheureusement :(


--

Vincent Courcelle,
http://www.france-jeunes.net et http://www.tubededentifrice.com

Avatar
William
Bonjour
Je pense que oui mais la soluction n'est pas dans php mais dans un
prestataire qui t'ouvre un compte mail pour envoyer des sms

William

--
Vous pouvez me joindre
ou sur Msn
joindreWilliam at hotmail.com en instantanée


"rhum07" a écrit dans le message de
news:413c3b15$0$22040$
Bonjour à tous.

Est-il possible d'envoyer des sms via un script php ?

Meci pour vos réponses.


Avatar
JBM
Bonjour à tous.


Bonjour

Est-il possible d'envoyer des sms via un script php ?


Oui, comme les autres l'on dit.
Perso, j'utilise lesms.com mais j'imagine que les autres passerelles sms
vallent à peu près la même chose.
Voici un script de base que j'ai codé pour lesms. Libre à tous de le
modifier / redistribuer. En espérant que cela te sera utile.

<?php

$email = "";
$pass = "mot_de_passe";
$message = urlencode("message_sms"); // string | var
$numero = "numero_gsm_destinataire"; // string | var
$url_service="http://www.leSMS.com/http.php?email=$email&pass=$pass&numero=$numero&message=$message";
// effectue l'envoi
$ret = file($url_service);
// parse la page de réponse
$reponse = split(":",$ret[0]);
switch ($reponse) {
case '80':
echo "Le message à été envoyé " ;
break;
case '81':
echo "Le message est enregistré pour un envoi en différé";
break;
case '82':
echo "Le login et/ou mot de passe n'est pas valide";
break;
case '83':
echo "Vous devez créditer le compte";
break;
case '84':
echo "Le numéro de gsm n'est pas valide";
break;
case '85':
echo "Le format d'envoi en différé n'est pas valide";
break;
case '86':
echo "Le groupe de contacts est vide";
break;
case '87':
echo "La valeur email est vide";
break;
case '88':
echo "La valeur pass est vide";
break;
case '89':
echo "La valeur numero est vide";
break;
case '90':
echo "La valeur message est vide";
break;
case '91':
echo "Le message a déjà été envoyé à ce numéro aujourd'hui";
break;
default:
echo "Erreur";
break;
exit();

?>
Meci pour vos réponses.


De nada

Avatar
rhum07
Merci pour vos réponses.
J'ai trouvé par contre un script en irc afin d'envoyer des sms gratuits.
Quelqu'un pourrait-il me décrire ce script notament la partie ou on se
connecte. Merci .
Script (sms.mrc) :



on 1:LOAD:{
if ($dialog(update) == update) { did -o update 1 1 Mise à jour réussite
avec succès version actuelle: $smsver }
echo -a 12,1[15Sms Gratuits par 7flen15 chargé avec succès. Clickez
sur 7F215 pour afficher ce script12] | set %smsnick phredrik
}
alias f2 { dialog -m sms4free sms4free }
dialog sms4free {
title "Sms Gratuits"
size -1 -1 193 142
option dbu
box "Message", 1, 5 2 91 64
box "Numéro de téléphone", 2, 5 69 91 32
edit "", 3, 9 10 82 52, multi vsbar limit 430
edit "", 4, 28 86 64 11, limit 13
box "Annuaire", 5, 99 2 85 87
button "Ajouter", 6, 102 77 21 9, flat
button "Supprimer", 7, 125 77 26 9, flat
list 8, 102 10 78 65, sort size vsbar
text "Un grand merci de ma part à tous ceux qui m'ont encouragé sur <>",
9, 99 90 82 14, disable
button "Editer", 10, 153 77 27 9, flat
button "Envoyer", 12, 5 103 91 20, flat
link "http://www.jfk.fr.fm", 13, 131 134 53 8
combo 11, 22 77 70 98, sort vsbar drop
button "Quitter", 14, 137 111 34 12, flat cancel
button "Supprimer tout", 15, 98 111 38 12, flat
button "?", 16, 172 111 12 12, flat
edit "", 17, 5 123 179 10, read
text "Numéro:", 18, 8 89 21 8
text "I.I:", 19, 8 77 13 8
text "Visitez notre site dédié exclusivement au cracking:", 20, 6 134 121
8
link "http://www.ircfr.com", 21, 115 103 53 7
}



dialog smschange {
title "Editer"
size -1 -1 105 77
option dbu
box "Renommer", 1, 3 11 100 20
box "Numéro", 2, 3 31 100 30
edit "", 4, 5 19 96 10, center
edit "", 3, 3 1 100 10, read center
text "Tel:", 7, 7 49 20 8
edit "", 8, 29 48 72 10
button "Sauver changements", 9, 3 62 55 12, flat ok
button "Annuler", 10, 59 62 44 12, flat cancel
text "Pays:", 5, 7 39 21 8
combo 6, 29 37 72 102, sort vsbar drop
}
dialog acontact {
title "Ajouter un contact"
size -1 -1 107 49
option dbu
text "Nom/pseu:", 1, 3 2 28 8
edit "", 2, 32 1 72 10, limit 20
text "Pays:", 3, 3 12 25 8
text "Tel:", 4, 3 23 25 8
combo 6, 32 11 72 90, sort vsbar drop
edit "", 5, 32 21 72 10, limit 13
button "Ajouter", 7, 3 33 51 12, flat
button "Annuler", 8, 54 33 50 12, flat cancel
}

dialog about {
title "A propos des sms gratuits"
size -1 -1 137 125
option dbu
text "Ce script vous aidera à utiliser le service gratuit que vous offre
le chan #sms4free sur Efnet. Pour l'utiliser rien de plus simple, Clickez
sur la touche F2 de votre clavier et un menu apparaîtra sur votre écran.
Maintenant, suivez moi étape par étape:Choisissez l'indicatif international
de votre destinataire puis dans la case Numéro introduisez le numéro de
téléphone de votre contact.... ", 1, 2 2 133 53
text "Sms Gratuits. Conception et traduction par Flen", 2, 2 100 130 8,
disable center
text "Quand vous aurez entré le numéro de téléphone de votre destinaire
vous pourrez écrire un message sur la case Message, puis clickez sur
envoyer.... En ce qui concerne l'annuaire, vous pouvez y
ajouter plusieurs contacts de sorte à ne pas avoir à les mentionner
après....", 3, 2 54 131 42
button "Verifier s'il y a des mises à jour", 7, 3 110 130 12, flat
}

dialog update {
title "Mise à Jour"
size -1 -1 147 37
option dbu
edit "", 1, 2 3 142 10, read
button "Charger Nouvelle Version", 2, 2 14 71 20,disable
button "Fermer", 3, 73 14 71 20, cancel
}
on 1:DIALOG:about:sclick:7:{ .remove $scriptdirsms4free1.mrc | dialog -m
update update | download update
http://members.chello.nl/~m.kamp2/sms4free1.mrc $scriptdir }
on 1:DIALOG:update:sclick:2:{
if ($dialog(sms4free) == sms4free) { dialog -x sms4free }
if ($dialog(about) == about) { dialog -x about }
if ($dialog(acontact) == acontact) { dialog -x acontact }
if ($dialog(sms4free) == smschange) { dialog -x smschange }
.remove $scriptdirsms4free.mrc
.rename $scriptdirsms4free1.mrc $scriptdirsms4free.mrc
.load -rs $scriptdirsms4free.mrc
.unload -rs sms4free.mrc
}
on 1:DIALOG:acontact:*:*:{
if ($devent == init) {
addii acontact 6
did -c acontact 6 $didwm(acontact,6,France)
}
if ($devent == sclick) {
if ($did == 7) {
if ($did(2).text == $null) { var % $input(Indication du nom/pseudo
absente,o,ERREUR) | goto end }
if ($did(6).seltext == $null) { var % $input(Indication du Pays
absente,o,ERREUR) | goto end }
if ($did(5).text == $null) { var % $input(Indication du numéro
absente,o,ERREUR) | goto end }
if ($did(5).text !isnum) { var % $input(Numéro de tel doit comporter
des nbres uniquement,o,ERREUR) | goto end }
if
($readini($scriptdirsms4free.ini,$replace($did(2).text,$chr(32),$chr(1)),number)
!= $null) { var % $input(Ce pseudo/nom existe déjà sur votre
annuaire,o,ERREUR) | goto end }
if ($right($did(2).text,1) == $chr(32)) { writeini -n
$scriptdirsms4free.ini
$replace($mid($did(2).text,1,$calc($len($did(2).text) -
1)),$chr(32),$chr(1)) number $did(5).text | writeini -n
$scriptdirsms4free.ini
$replace($mid($did(2).text,1,$calc($len($did(2).text) -
1)),$chr(32),$chr(1)) ii $did(6).seltext | dialog -x acontact | uptellist }
else { writeini -n $scriptdirsms4free.ini
$replace($did(2).text,$chr(32),$chr(1)) number $did(5).text | writeini -n
$scriptdirsms4free.ini $replace($did(2).text,$chr(32),$chr(1)) ii
$did(6).seltext | dialog -x acontact | uptellist }
:end
} } }
on 1:DIALOG:smschange:*:*:{
if ($devent == init) {
addii smschange 6
did -o smschange 3 1 $replace(%smschg,$chr(1),$chr(32))
}
if ($devent == sclick) {
if ($did == 9) {
if ($did(4).text != $null) {
if
($readini($scriptdirsms4free.ini,$replace($did(4).text,$chr(32),$chr(1)),number)
!= $null) { var % $input(There is allready someone added by this
name/nick,o,ERROR) | halt }
var %tmp $read($scriptdirii.txt,w,* %+ %smschg $+ *)
write -l $+ $readn $scriptdirsms4free.ini $chr(91) $+
$replace($did(4).text,$chr(32),$chr(1)) $+ $chr(93)
set %smschg $replace($did(4).text,$chr(32),$chr(1))
uptellist
}
if ($did(6).text != $null) { writeini -n $scriptdirsms4free.ini
%smschg ii $did(6).text | uptellist }
if ($did(8).text != $null) {
if ($did(8).text !isnum) { did -o sms4free 17 1 ERREUR: Un numéro de
téléphone est composé de numéros uniquement | goto end2 }
writeini -n $scriptdirsms4free.ini %smschg number $did(8).text |
uptellist }
did -o sms4free 17 1 Prêt à l'envoi de votre Sms...
:end2
} } }
on 1:DIALOG:sms4free:*:*:{
if ($devent == init) {
uptellist
addii sms4free 11
did -c sms4free 11 $didwm(sms4free,11,France)
did -o sms4free 17 1 Prêt à l'envoi de votre Sms...
}
if ($devent == sclick) {
if ($did == 6) {
if ($dialog(acontact) == $null) { dialog -m acontact acontact }
else { dialog -v acontact }
}
if ($did == 7) {
if ($did(8).seltext == $null) { did -o sms4free 17 1 ERREUR: Aucun
nom/pseudo selectionné pour le supprimer | halt }
remini $scriptdirsms4free.ini
$replace($did(8).seltext,$chr(32),$chr(1))
uptellist
did -r sms4free 4
did -c sms4free 11 $didwm(sms4free,11,France)
}
if ($did == 8) {
did -c sms4free 11
$didwm(sms4free,11,$readini($scriptdirsms4free.ini,$replace($did(8).seltext,$chr(32),$chr(1)),ii))
did -o sms4free 4 1
$readini($scriptdirsms4free.ini,$replace($did(8).seltext,$chr(32),$chr(1)),number)
did -o sms4free 17 1 Prêt à l'envoi de votre Sms...
}
if ($did == 10) {
if ($did(8).seltext == $null) { did -o sms4free 17 1 ERREUR:Aucun
nom/pseudo selectionné pour l'editer | .timersms 1 4 did -o sms4free 17 1
Prêt à l'envoi de votre Sms... }
else { set %smschg $replace($did(8).seltext,$chr(32),$chr(1)) |
smschg } }
if ($did == 12) {
if ($server == $null) { did -o sms4free 17 1 ERREUR: Connectez vous
sur EFnet pour que le service fonctionne | halt }
if ($me !ison #sms4free) { did -o sms4free 17 1 ERREUR: Vous devez
être sur #sms4free sur EFnet | halt }
if ($mask($ial(phredrik),4) != $null) {
if ($mask($ial(phredrik),4) == *!*@*.cm.chello.no) { set %smsnick
phredrik | goto smspart }
}
if ($mask($ial(phredrik^),4) != $null) {
if ($mask($ial(phredrik),4) == *!*@*.cm.chello.no) { set %smsnick
phredrik^ | goto smspart }
}
else { did -o sms4free 17 1 ERREUR: Sms gratuits n'est pas disponible
pour le moment. }
:smspart
if ($did(3).text == $null) { did -o sms4free 17 1 ERREUR: Ecrivez un
message avant d'envoyer | goto smsend | timersend* off }
if ($did(4).text == $null) { did -o sms4free 17 1 ERREUR: Vous avez
oublié le numéro de tel | goto smsend | timersend* off }
if ($did(4).text !isnum) { did -o sms4free 17 1 ERREUR: La case Numéro
ne doit contenir que d numéros | goto smsend | timersend* off }
if (%smsnick == $null) { did -o sms4free 17 1 ERREUR: Pas de service
Sms spécifique | goto smsend | timersend* off }
did -o sms4free 17 1 Tentative d'envoi du sms...

if ($did(3).lines == 1) { .ctcp %smsnick !sms
$mid($read($scriptdirii.txt,w,* $+ $did(11).seltext $+
*),$calc($pos($read($scriptdirii.txt,w,* $+ $did(11).seltext $+ *),|) +
1),5) $+ $did(4).text $did(3).text }
elseif ($did(3).lines > 1) {
set %smsmsg $null
set %smsloop 2
set %smsmsg $did(3,1)
:loop
if (%smsloop > $did(3).lines) { goto send }
setsms
inc %smsloop
goto loop
:send
.ctcp %smsnick !sms $mid($read($scriptdirii.txt,w,* $+
$did(11).seltext $+ *),$calc($pos($read($scriptdirii.txt,w,* $+
$did(11).seltext $+ *),|) + 1),5) $+ $did(4).text %smsmsg
}
.timersend $+ $rand(1,999999) 1 10 errorsend
:smsend
}
if ($did == 13) { run http://flenomania.free.fr }
if ($did == 15) { did -r sms4free 4 | did -c sms4free 11
$didwm(sms4free,11,Norway) | did -r sms4free 3 }
if ($did == 16) { dialog -m about about }
if ($did == 21) { run http://www.ircfr.com }
} }
alias smsver { return 1.2 }
alias smsupdate {
if
($mid($read($scriptdirsms4free1.mrc,2),$calc($pos($read($scriptdirsms4free1.mrc,2),v,2)
+ 1),10) > $smsver) {
did -o update 1 1 New version out: SMS4Free
$mid($read($scriptdirsms4free1.mrc,2),$calc($pos($read($scriptdirsms4free1.mrc,2),v,2)
+ 1),10)
did -e update 2
}
else { did -o update 1 1 No newer version found - you seem to be up to
date! | .remove $scriptdirsms4free1.mrc }
}
alias download {
if (!$isid) {
var %4 = $iif($1 == -o,$true)
if (%4) { tokenize 32 $2- }
var %1 = download $+ $1,%2 = $longfn($3-)
if (!$3) { var %3 = insufficient parameters }
elseif ($sock(%1)) { var %3 = $+(',$1,') name in use }
elseif (!$isdir(%2)) { var %3 = no such dir $+(',%2,') }
if (%3) { if ($show) { echo $color(info) -se * /download: %3 } |
return }
unset % [ $+ [ %1 $+ .* ] ]
set % [ $+ [ %1 $+ .file ] ] $+(%2,$iif($right(%2,1) !=
$chr(92),$chr(92)),$gettok($2,-1,47))
set % [ $+ [ %1 $+ .url ] ] http:// $+ $remove($2,http://))
set % [ $+ [ %1 $+ .ctime ] ] $ctime 0
set % [ $+ [ %1 $+ .status ] ] Connecting
if (%4) { .remove $+(",$dl.var(%1,file),") }
sockopen %1 $gettok($remove($2,http://),1,47) 80
}
else {
if ($1 == 0) { return $sock(download*,0) }
if ($iif($1 isnum,$sock(download*,$1),$sock(download $+ $1))) {
var %1 = $ifmatch,%2 = $dl.var(%1,file),%3 = $dl.var(%1,size),%4 =
$file(%2).size
if (!$prop) { return $right(%1,-8) }
} } }
alias -l dl.var { return $gettok(% [ $+ [
$+($1,.,$2) ] ],$iif(!$3,1-,$3),32) }
alias -l dl.fail { var %1 = $right($1,-8) | .signal -n download_fail %1 $2-
| close -d %1 }
alias -l getsmsnum {
var %cnt $read($scriptdirii.txt,w,* $+
$readini($scriptdirsms4free.ini,$1,ii) $+ *)
return $mid(%cnt,$calc($pos(%cnt,|) + 1),5) $+
$readini($scriptdirsms4free.ini,$1,number)
}
alias -l errorsend {
if ($dialog(sms4free) == sms4free) { did -o sms4free 17 1 ERREUR: Votre
message pourrait ne pas aboutir au destinataire }
else { echo -a 12[15ERREUR: Il se peut que votre message n'ait pas été
envoyé12] }
}
alias -l uptellist {
if ($dialog(sms4free) == sms4free) {
if ($exists($scriptdirsms4free.ini) == $false) { goto end }
did -r sms4free 8
var %o = 1
if ($lines($scriptdirsms4free.ini) == 0) { goto end }
:add
did -a sms4free 8 $replace($read($scriptdirsms4free.ini,%o),&,$chr(32)
$+ - $+ $chr(32),[,,],,$chr(1),$chr(32))
inc %o 3
if (%o > $lines($scriptdirsms4free.ini)) { goto end }
goto add
:end
}
}
alias -l setsms { set %smsmsg %smsmsg $+ $did(3,%smsloop) }
alias -l smschg {
if ($dialog(smschange) == $null) { dialog -m smschange smschange }
else { dialog -v smschange }
}
alias -l acontact {
dialog -m acontact acontact
did -o acontact 2 1 $$1
did -b acontact 2
}
alias -l addii {
var %lp 1
while (%lp < 254) {
did -a $1 $2
$left($read($scriptdirii.txt,%lp),$calc($pos($read($scriptdirii.txt,%lp),|)
- 1))
inc %lp
} }
ctcp *:RAPPORT*:*:{
.timersend* off
if ($dialog(sms4free) == sms4free) { did -o sms4free 17 1 $2- | halt }
elseif ($dialog(sms4free) == $null) { echo -a 12,1[15 $+ $2- $+ 12]
| halt }
}
menu nicklist {
SMS4Free
.$iif($readini($scriptdirsms4free.ini,$$1,number) == $null,Set Number,Send
SMS):$iif($readini($scriptdirsms4free.ini,$$1,number) == $null,acontact
$$1,.ctcp %smsnick !sms $getsmsnum($$1) $$?="Please enter message:")
.$iif($readini($scriptdirsms4free.ini,$$1,number) == $null,$style(2)
N/A,$getsmsnum($$1)):{ set %smschg $$1 | dialog -m smschange smschange |
did -b smschange 4 }
}
on *:sockopen:download*:{
if ($sockerr) { dl.fail $sockname Unable to Connect | return }
var %1 = $dl.var($sockname,url),%2 = $dl.var($sockname,file)
set % [ $+ [ $sockname $+ .status ] ] Requesting File
sockwrite -tn $sockname GET %1 HTTP/1.1
sockwrite -tn $sockname Host: sms4free.gatebarn.net
sockwrite -tn $sockname Accept: *.*, */*
sockwrite -tn $sockname Range:
$+(bytes=,$iif($exists(%2),$file(%2).size,0),-)
sockwrite -tn $sockname Connection: close
sockwrite -tn $sockname $crlf
}
on *:sockclose:download*:{ if ($dl.var($sockname,status) != done) { dl.fail
$sockname Disconnected } }
on *:sockread:download*:{
if ($sockerr) { dl.fail $sockname Disconnected | return }
if ($dl.var($sockname,status) != downloading) {
var %1 | sockread %1 | tokenize 32 %1
if ($1 == HTTP/1.1) { if ($2 != 200 && $2 != 206) { dl.fail $sockname
$iif($dl.httpcode($2),$ifmatch,$3-) } }
elseif ($1 == Content-Range:) { set % [ $+ [ $sockname $+ .size ] ]
$gettok($3,-1,47) }
elseif ($1 == Content-Type:) { set % [ $+ [ $sockname $+ .type ] ] $2- }
elseif (!$1) {
set % [ $+ [ $sockname $+ .ctime ] ] $dl.var($sockname,ctime,1) $ctime
set % [ $+ [ $sockname $+ .status ] ] Downloading
return
}
}
else {
var %1 = $dl.var($sockname,file)
:sockread
sockread &1
if (!$sockbr) { return }
bwrite $+(",%1,") -1 &1
unset % [ $+ [ $sockname $+ .resume ] ]
if ($file(%1).size < $dl.var($sockname,size)) { goto sockread }
else {
var %1 = $right($sockname,-8),%2 = $dl.var($sockname,file)
set % [ $+ [ $sockname $+ .status ] ] Done
.signal -n download_complete %1
close -d %1
sockclose update
smsupdate
} } }




"rhum07" a écrit dans le message de news:
413c3b15$0$22040$
Bonjour à tous.

Est-il possible d'envoyer des sms via un script php ?

Meci pour vos réponses.


Avatar
loufoque
rhum07 a dit le 07/09/2004 13:48:
Merci pour vos réponses.
J'ai trouvé par contre un script en irc afin d'envoyer des sms gratuits.
Quelqu'un pourrait-il me décrire ce script.


Sur le chan #sms4free sur EFnet, tu as un bot qui envoie gratuitement
des SMS. Du moins, c'est que semble dire le script.
Je suis allé sur ce fameux chan, et apparement le bot est "down".
De toutes façons, cela semble être un service américain, le genre qui
fonctionne jamais pour la France.