Das Versenden von Textnachrichten ist in der ganzen Welt äußerst verbreitet - bis zu dem Punkt, an dem immer mehr Webanwendungen SMS integriert haben, um Benutzer über Ereignisse, Verkäufe oder Coupons direkt über ihre mobilen Geräte zu informieren.
In diesem Lernprogramm werden die Grundlagen für das Senden von Textnachrichten mit PHP behandelt.
Bevor wir in den Schritt für Schritt einsteigen, sollten Sie sich eine fertige Lösung anschauen: SMS Sender, verfügbar auf dem Envato Market. Dieses PHP-Skript ermöglicht Ihnen:
Wenn Sie es vorziehen, Ihren Absender für Textnachrichten von Grund auf neu zu erstellen, gehen Sie wie folgt vor.
Das Versenden einer SMS (SMS) ist eigentlich ganz einfach.
Es folgt ein vereinfachtes Diagramm, wie eine Nachricht von einer Webanwendung an ein drahtloses Gerät gesendet werden kann.
Wir brechen das auf - Stück für Stück:
Die meisten drahtlosen Netzwerke verfügen über ein SMS-Gateway, über das E-Mail-Nachrichten als Textnachricht an ein mobiles Gerät gesendet werden können. Das ist schön, denn aus der Sicht eines Entwicklers ist es im Allgemeinen kostenlos - es ist jedoch natürlich kein kostenloser Service für den Endbenutzer. Die Gebühren gelten weiterhin für den Empfänger der Nachricht, und Nachrichten, die per E-Mail gesendet werden, werden als Textnachricht außerhalb des Netzwerks berechnet.
Um eine SMS per E-Mail zu versenden, benötigen Sie im Allgemeinen nur zwei Dinge:
Die folgende Konvention kann für die meisten Beförderer befolgt werden:
[email protected]
Telefonnummer
ist die Telefonnummer des mobilen Geräts, an das die Nachricht gesendet werden soll, und domainName.com
ist die Adresse für das SMS Gateway des Netzwerks.
Um einen Text an Mr. Example zu senden, können Sie einfach jedem E-Mail-Client [email protected] hinzufügen, eine Nachricht eingeben und auf Senden klicken. Dadurch wird eine SMS an die Telefonnummer +1 (385) 555-0168 des Verizon Wireless Network gesendet.
Ich schicke mir zum Beispiel eine SMS mit Google Mail.
Wenn mein Telefon die Nachricht empfängt, sollte es so aussehen:
Ziemlich cool!
mail
Funktion Gehen wir noch einen Schritt weiter. Mit dem SMS-Gateway können wir per PHP eine SMS-Nachricht senden mail
Funktion. Das mail
Funktion hat folgende Signatur:
bool mail (Zeichenfolge $ to, Zeichenfolge $ subject, Zeichenfolge $ message [, Zeichenfolge $ additional_headers [, Zeichenfolge $ additional_parameters]])
Mehr darüber erfahren Sie hier.
$ bis
Definiert den Empfänger oder die Empfänger der Nachricht. Gültige Beispiele sind: $ subject
ist eher selbsterklärend; es sollte eine Zeichenfolge sein, die den gewünschten Betreff enthält. SMS jedoch benötige nicht ein Thema. $ message
ist die zu übermittelnde Nachricht. Wie im PHP-Handbuch erwähnt, sollte "jede Zeile durch ein LF (\ n) getrennt werden. Zeilen sollten nicht länger als 70 Zeichen sein." Um die frühere Funktionalität zu replizieren, können Sie den folgenden PHP-Code schreiben:
mail ('[email protected]', ", 'Testing');
Lassen Sie uns einen Test mit PHP durchführen, um sicherzustellen, dass alles korrekt eingerichtet ist und dass mail
Funktion sendet in der Tat eine SMS. Mit dem folgenden Code können wir ausführen:
Wenn mein Telefon die Nachricht empfängt, sieht es so aus:
Wenn Sie eine Fehlermeldung erhalten, lesen Sie den Abschnitt zur Fehlerbehebung.
Wie Sie im obigen Bild sehen können, zeigt die Nachricht, dass es von Google Mail stammt. Dies liegt daran, dass ich alle ausgehenden Nachrichten von meinem lokalen Server über diesen Dienst weiterleite. Zum jetzigen Zeitpunkt war ich leider nicht in der Lage, das zu ändern Von
Header, um eine alternative Adresse anzuzeigen. Es scheint, dass die E-Mail-Header entfernt und durch vom SMS-Gateway vorbereitete Header ersetzt werden. Wenn jemand eine Problemumgehung kennt, hinterlassen Sie bitte einen Kommentar und lassen Sie den Rest von uns wissen!
Lassen Sie uns mit den Grundlagen aus dem Weg gehen und diese Idee mit einer Benutzeroberfläche versehen. Zuerst erstellen wir ein einfaches Formular:
SMS mit PHP versenden