Linux, Programiranje

Pošiljanje SMS sporočil [Ubuntu]

Med brskanju po starih kodah sem našel skripto za pošiljanje SMS sporočil. Za deva še vedno deluje, le WSDL naslov sem moral popravit na novega. Drugače pa mislim da je to koda, katero nam je na PHP konferenci 08 dal Marko Štamcar (lahko da sem zgrešil leto konference).

Za začetek, morate biti uporabnik Mobitela! Prijavljeni morate biti na moj.mobitel.si, če niste se enostavno prijavite, je brezplačno.

Kar potrebujemo je Apache2 server s PHP podporo in SOAP Client.

Verjetno nima vsak ki ima server naložen tudi SOAP client, tako da ga lahko namestite z ukazom:

sudo apt-get install php-soap

Kako se naloži Apache2 in PHP morda kdaj drugič…

Na pa še koda… Ustvarimo nek dokument .php in vanj napišemo:

if ($argc < 3) {
die("Not enough arguments\n");
}

$cl = new SoapClient("https://moj.mobitel.si/mobidesktop-v2/wsdl.xml");
$cl->SendSMS(
    array(
       "Username" => "041700700", //Vaša telefonska številka
       "Password" => "geslo", //vaše geslo na moj.mobitel.si
       "Recipients" => array_slice($argv,1,-1),
       "Message" => $argv[$argc-1]
    )
);

echo "Message sent!\n";

Ne pozabite spremeniti podatkov v svoje!

Lahko dodate tudi:

if (strlen($argv[$argc-1]) > 160) {
    die("Message too long\n");
}

To je za omejitev sms-a na 160 znakov… Če tega stavka ni, lahko napišemo več teksta in bo tudi ves poslan.

Ko imamo skripto shranjeno na srverju, jo lahko poženemo v terminalu z naslednjim ukazom:

php /var/www/sms.php 041700700 “besedilo sporočila”

Telefonsko številko 041700700 zamenjamo z telefonsko, kamor želimo poslati SMS sporočilo. med narekovaje pa vpišemo tekst.

Sam zadevo uporabljam, ker se mi velikokrat ne da tipkat po tipkovnici telefona, je le tipkovnica računalnika bolj prijazna :)

9 comments

    Obstaja tudi SMSAPI, ki je enstaven vmesnik za pošiljanje transkacijskih ali marketinških SMS sporočil.
    www,smsapi.si. Omogočamo 10 brezplačnih SMS sporočil za test :)

    Uporabna reč, toda meni nekako ne uspe. Ko zaženem ukaz: php sms.php cifra “tekst” mi samo izpiše vsebino te datoteke.

    Zadevo zaganjam na strežniku Ubuntu, kjer je gor Apache, PHP itd. SOAP clienta imam nameščenega.

      na zacetku file-a dodaj:
      to je resilo problem pri meni
      lp

      ——————————————————————
      ehrana.si – dostava hrane na dom

      Bi lahko, če ima server naložen SOAP client… pa potem $argc spremeniš v neka polja, katera pridobiš iz forme… ker $argc so argumenti, ki jih pridobiš z klicanjem “sms.php 041700700 “besedilo sporočila””

    Škoda ker ni za linux kakšen nokia pc suite s katerim bi lahko pošiljal in sprejemal sporočila preko računalnika. Ta varjanta se mi bolj dopade.

Oddaj komentar...

This site uses Akismet to reduce spam. Learn how your comment data is processed.