Nutzen Sie Ihre Website zum Versenden von SMS

Sie können Ihrer Website SMS-Funktionalität hinzufügen. Diese Methode zeigt, wie Sie ein PHP-Skript verwenden, um mit der HTTP-API von Ozeki SMS Gateway zu kommunizieren. Zuerst müssen Sie die PHP-Skriptunterstützung auf Ihrem Webserver aktivieren.

Laden Sie das PHP-SMS-Versand-Beispiel herunter: sendsms.zip

Video 1 - Wie Sie Ihre Website zum Versenden von SMS nutzen (Video-Tutorial)

Das vorgestellte Beispiel (PHP-SMS-Versand-Skript) zeigt, wie das Versenden von Nachrichten von Ihrer Website aus durch Klicken auf 'Senden' funktionieren kann. Die Idee verwendet ein HTML-Formular. Der Benutzer kann dieses HTML-Formular ausfüllen und auf 'Senden' klicken. Das PHP-Skript verarbeitet die beiden Variablen in den Textfeldern namens 'Empfänger' und 'Nachricht'. Es sendet auch die generierte HTTP-Anfrage-URL an die HTTP-API von Ozeki SMS Gateway (Abbildung 1). Ihr Webserver und Ozeki SMS Gateway können auf zwei verschiedenen Maschinen oder auch auf derselben Maschine sein.

wie eine SMS von Ihrer Website gesendet werden kann
Abbildung 1 - Wie eine SMS von Ihrer Website gesendet werden kann

Sie sollten Ozeki SMS Gateway installieren und zunächst überprüfen, ob Sie manuell SMS-Nachrichten davon versenden können. Dann laden Sie bitte das HTML+PHP-Skript herunter, um das SMS-Versandformular zu erstellen und zu nutzen.

Ozeki SMS Gateway kann erhalten werden, indem Sie
die Download-Seite öffnen:
Ozeki SMS Gateway herunterladen!

Erstellen Sie das HTML-Formular für den SMS-Versand

Bitte speichern Sie sendsms.html, um mit dieser Lösung zu beginnen. Sie sollten es im 'WWW'-Verzeichnis Ihres Webservers speichern. Was enthält es? Es enthält das HTML-Formular mit einem Empfänger- und Nachrichtentextfeld sowie einem 'Senden'-Button (Abbildung 2).


<html>
 <body>
   <h1>Mein SMS-Formular</h1>
   <form method=post action='sendsms.php'>
   <table border=0>
   <tr>
     <td>Empfänger</td>
     <td><input type='text' name='recipient'></td>
   </tr>
   <tr>
     <td>Nachricht</td>
     <td><textarea rows=4 cols=40 name='message'></textarea></td>
   </tr>
   <tr>
     <td> </td>
     <td><input type=submit name=submit value=Senden></td>
   </tr>
   </table>
   </form>
 </body>
</html>
Abbildung 2 - Der Quellcode von *\WWW\sendsms.html

Wenn Sie diese Datei erfolgreich im Verzeichnis Ihres Webservers gespeichert haben, können Sie sie in jedem Webbrowser öffnen (Abbildung 3). Sie können eine beliebige Telefonnummer in das Empfängerfeld eintragen (z.B. +4407776134588) und Ihren Nachrichtentext in das nächste Textfeld schreiben.

wie das SMS-Formular aussehen sollte
Abbildung 3 - Wie das SMS-Formular aussehen sollte

Das action-Attribut des form-Tags verweist auf sendsms.php. Das bedeutet, dass die im Formular eingegebenen Daten an sendsms.php weitergeleitet werden. Die Daten werden an die HTTP-API gesendet, wenn 'Senden' gedrückt wird.

Wie Sie Ihr PHP-SMS-Skript vorbereiten

'sendsms.php' ist das Ziel für die Felder Empfänger und Nachricht. Dieses PHP-Skript kann eine URL für die HTTP-API des Ozeki SMS Gateways erstellen. Es wird die URL aufrufen, wenn 'Senden' gedrückt wird. Vergessen Sie nicht, die Variablen $ozeki_user, $ozeki_password und $ozeki_url zu konfigurieren. Falls das Ozeki SMS Gateway und Ihr Webserver auf demselben Rechner laufen, können Sie $ozeki_url unverändert lassen. Andernfalls sollten Sie die IP-Adresse in die IP-Adresse des Rechners mit dem Ozeki SMS Gateway ändern. Die neueste Version des Ozeki SMS Gateways verwendet Port 9505, während 9501 zur älteren Version gehört. (Abbildung 4)


<?php

########################################################
# Anmeldeinformationen für das SMS Gateway
########################################################

$ozeki_user = "admin";
$ozeki_password = "abc123";
$ozeki_url = "http://127.0.0.1:9505/api?";

########################################################
# Funktionen zum Senden der SMS-Nachricht
########################################################
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(
					

More information