Użyj swojej strony internetowej do wysyłania SMS
Możesz dodać funkcjonalność SMS do swojej strony internetowej. Ta metoda pokazuje, jak użyć skryptu PHP do komunikacji z interfejsem HTTP API Ozeki SMS Gateway. Najpierw musisz włączyć obsługę skryptów PHP na swoim serwerze WWW.
Pobierz przykład wysyłania SMS w PHP:
sendsms.zip
Przedstawiony przykład (skrypt PHP do wysyłania SMS) pokazuje, jak może działać wysyłanie wiadomości z Twojej strony internetowej po kliknięciu 'Wyślij'. Pomysł wykorzystuje formularz HTML. Użytkownik może wypełnić ten formularz HTML i kliknąć 'Wyślij'. Skrypt PHP przetwarza dwie zmienne w polach tekstowych o nazwach 'Odbiorca' i 'Wiadomość'. Wysyła również wygenerowany adres URL żądania HTTP do interfejsu HTTP API Ozeki SMS Gateway (Rysunek 1). Twój serwer WWW i Ozeki SMS Gateway mogą być na dwóch różnych maszynach lub na tej samej maszynie.
Najpierw należy zainstalować Ozeki SMS Gateway i sprawdzić, czy można ręcznie wysyłać z niego wiadomości SMS. Następnie proszę pobrać skrypt HTML+PHP aby stworzyć i użyć formularza wysyłania SMS.
![]() | Ozeki SMS Gateway można pobrać otwierając stronę pobierania: Pobierz Ozeki SMS Gateway! |
Utwórz formularz HTML do wysyłania SMS
Aby rozpocząć korzystanie z tego rozwiązania, zapisz plik sendsms.html. Należy zapisać go w katalogu 'WWW' Twojego serwera WWW. Co zawiera? Zawiera formularz HTML z polem tekstowym odbiorcy i wiadomości, plus przycisk 'Wyślij' (Rysunek 2).
<html> <body> <h1>Mój formularz SMS</h1> <form method=post action='sendsms.php'> <table border=0> <tr> <td>Odbiorca</td> <td><input type='text' name='recipient'></td> </tr> <tr> <td>Wiadomość</td> <td><textarea rows=4 cols=40 name='message'></textarea></td> </tr> <tr> <td> </td> <td><input type=submit name=submit value=Wyślij></td> </tr> </table> </form> </body> </html>
Jeśli pomyślnie zapisałeś ten plik w katalogu swojego serwera WWW, możesz go otworzyć w dowolnej przeglądarce internetowej (Rysunek 3). Możesz dodać dowolny numer telefonu do pola odbiorcy (np. +4407776134588) i wpisać tekst wiadomości w następnym polu tekstowym.
Atrybut action tagu formularza wskazuje na sendsms.php. Oznacza to, że dane wprowadzone w formularzu zostaną przekazane do sendsms.php. Dane zostaną wysłane do interfejsu HTTP API po naciśnięciu 'Wyślij'.
Jak przygotować swój skrypt SMS w PHP'sendsms.php' jest celem dla pól odbiorcy i wiadomości. Ten skrypt PHP może zbudować URL dla interfejsu HTTP API Ozeki SMS Gateway. Wywoła on URL, jeśli zostanie naciśnięty przycisk 'Wyślij'. Nie zapomnij skonfigurować zmiennych $ozeki_user, $ozeki_password i $ozeki_url. W przypadku, gdy Ozeki SMS Gateway i twój serwer WWW działają na tej samej maszynie, możesz pozostawić $ozeki_url bez zmian. W przeciwnym razie należy zmienić IP na adres IP maszyny z Ozeki SMS Gateway. Najnowsza wersja Ozeki SMS Gateway używa portu 9505, podczas gdy 9501 należy do starszej wersji. (Rysunek 4)
<?php ######################################################## # Login information for the SMS Gateway ######################################################## $ozeki_user = "admin"; $ozeki_password = "abc123"; $ozeki_url = "http://127.0.0.1:9505/api?"; ######################################################## # Functions used to send the SMS message ######################################################## function httpRequest($url){ $pattern = "/http...([0-9a-zA-Z-.]*).([0-9]*).(.*)/"; preg_match($pattern,$url,$args); $in = ""; $fp = fsockopen("$args[1]", $args[2], $errno, $errstr, 30); if (!$fp) { return("$errstr ($errno)"); } else { $out = "GET /$args[3] HTTP/1.1\r\n"; $out .= "Host: $args[1]:$args[2]\r\n"; $out .= "User-agent: Ozeki PHP client\r\n"; $out .= "Accept: */*\r\n"; $out .= "Connection: Close\r\n\r\n"; fwrite($fp, $out); while (!feof($fp)) { $in.=fgets($fp, 128); } } fclose($fp); return($in); } function ozekiSend($phone, $msg, $debug=false){ global $ozeki_user,$ozeki_password,$ozeki_url; $url= 'action=sendmessage'; $url.= '&username='.$ozeki_user; $url.= '&password='.$ozeki_password; $url.= '&messagetype=SMS:TEXT'; $url.= '&recipient='.urlencode($phone); $url.= '&messagedata='.urlencode($msg); $urltouse = $ozeki_url.$url; if ($debug) { echo "Request: <br>$urltouse<br><br>"; } //Open the URL to send the message $response = httpRequest($urltouse); if ($debug) { echo "Response: <br><pre>". str_replace(array("<",">"),array("<",">"),$response). "</pre><br>"; } return($response); } ######################################################## # GET data from sendsms.html ######################################################## $phonenum = $_POST['recipient']; $message = $_POST['message']; $debug = true; ozekiSend($phonenum,$message,$debug); ?>
Po skopiowaniu i zmodyfikowaniu zarówno sendsms.html, jak i sendsms.php w *\WWW\, wiadomość SMS może zostać przesłana przez bramkę. Po zaakceptowaniu do dostarczenia, SMS Gateway zwróci numer referencyjny wiadomości w odpowiedzi (Rysunek 5). Wiadomości są śledzone w Ozeki SMS Gateway za pomocą ich numerów referencyjnych.
Podsumowanie
W tym artykule można zobaczyć, jak dodać funkcjonalność SMS do swojej strony internetowej. Wykorzystuje on dostarczony przykładowy skrypt PHP SMS do komunikacji z Ozeki SMS Gateway. Użycie SMS Gateway oferuje możliwość routingu wiadomości SMS między różnymi punktami końcowymi i daje możliwość kontrolowania wiadomości tekstowych, gdy przechodzą przez system, aby można było łatwo dotrzeć do każdego w organizacji.
Jeśli chcesz zbudować niezawodny i wszechstronny system komunikacji SMS, znajdziesz więcej informacji na ten temat na stronie Ozeki. Zapraszamy do zapoznania się z artykułem o wysyłaniu SMS z witryny internetowej przy użyciu wysyłaniu SMS za pomocą C#.
Aby stworzyć swój pierwszy wysokowydajny system bramki SMS, teraz jest najlepszy czas, aby pobrać Ozeki SMS Gateway!
More information
- Wyślij SMS z MySQL za pomocą PHP
- Wyślij SMS ze strony internetowej za pomocą PHP i MySQL
- Wyślij SMS ze strony internetowej za pomocą PHP i HTTP API
- PHP Jednorazowe hasło