In einem kürzlichen Projekt wurde ich gebeten, eine Lösung zu finden, um Textnachrichten als Premium-Feature auf der Mitgliederseite eines Kunden zu versenden. Dies ist nicht etwas, was ich jemals zuvor getan hatte, aber ich dachte mir, ich würde alle Informationen, die ich gesammelt habe, in ein einfaches Tutorial für diejenigen zusammenfassen, die dasselbe machen wollen
Die kostenlose Option - E-Mail
Wenn Sie es noch nicht wussten, können Textnachrichten tatsächlich per E-Mail an die meisten Mobilfunkanbieter gesendet werden. Zum Beispiel bin ich ein AT & T-Kunde. Um mir eine SMS ohne Telefon zu senden, könnte ich Google Mail öffnen und eine E-Mail an folgende Adresse senden: [email protected] Ich würde die SMS genauso erhalten wie jede andere Nachricht.
Die Anwendung auf PHP ist relativ einfach in Bezug auf den tatsächlichen Code. Die Mail-Funktion wird es ganz gut machen. Wenn Sie Ihre Nummer zur Hand haben und wissen, welche Nummer die Nummer verwendet, können Sie hier nach dem Mobilfunkanbieter suchen. Um mir eine Nachricht zu schicken, war es so einfach wie:
$ Nummer = "999-999-9999"; $ Träger = "@ txt.att.net"; $ message = "Dies ist ein Text"; $ send = mail ("[email protected] $ carrier", "Test", $ message); echo $ gesendet? "Mail gesendet": "Mail NICHT gesendet"; // Mail (E-Mail-Adresse, Betreff, Text); // Der Betreff ist nicht erforderlich und kann bei Bedarf leer gelassen werden
Dies kann Dilemnas jedoch schaffen. Es erfordert, dass Sie sowohl die Nummer UND den Handy-Träger kennen. Mit der Nummernportabilität kann sich der Mobilfunkanbieter ändern, und ohne dass ein Benutzer Sie über diese Informationen informiert, hätten Sie keine Möglichkeit, zu erfahren, dass sich der Mobilfunkanbieter geändert hat. Diese Option war für uns einfach nicht durchführbar, da wir sie fehlerfrei arbeiten mussten, unabhängig davon, ob sie den Carrier gewechselt hatten oder was auch immer der Fall war. Wenn wir die Nummer hätten, wären das alle Informationen, die wir brauchen sollten. Um den Benutzer zu bitten, mehr Informationen zu verwalten, als das aktuell ist, wurde zu viel verlangt.
Ich könnte sehen, dass dies eine nützliche Methode zum Senden von Textnachrichten ist, wenn ich nur eine Art Benachrichtigungsdienst für mich selbst erstellen möchte. dh wenn eine meiner täglichen Cron-Skripte versagte, etwas in dieser Richtung. Dies ist keine skalierbare zuverlässige Lösung für jede Art von Lösung, die größer ist als nur ein paar Benutzer.
Die kostenpflichtige Option - SMS Gateways
Es gibt zahlreiche SMS-Gateways mit unterschiedlichen Preispunkten und APIs. SMS-Gateways sind nicht kostenlos, aber sie bieten eine sicherere und vertrauenswürdige Möglichkeit, die Aufgabe zu erledigen. Ich erinnerte mich daran, vor etwa einem Jahr etwas zu diesem Thema zu recherchieren, und der Name Twilio blieb stecken. Sie sind, wer ich beendet habe zu verwenden und ein schnelles und einfaches Tutorium ist unten. Sie kosten 1 Cent pro SMS, nicht die billigste, aber sehr vernünftig für das, was wir erreichen wollten.
Wie versende ich eine SMS mit Twilio?
Sie benötigen zuerst ein Konto bei ihnen, also melden Sie sich an. Sie erhalten eine Benutzer-ID und ein Authentifizierungs-Token, die Sie in die entsprechenden Variablen einklinken können. Als nächstes laden Sie die offizielle Twilio PHP-Bibliothek von hier herunter.
// die offizielle Twilio PHP-Bibliothek beinhalten 'Services / Twilio.php'; $ accountID = "#######"; $ token = "#######"; // eine neue Instanz der twinio-Services-Klasse deklarieren $ client = new Services_Twilio ($ AccountSid, $ AuthToken); $ mynumber = "##########"; $ to = "##########"; $ body = "Dies ist eine Textnachricht"; $ client-> account-> sms_messages-> create ($ from, $ to, $ body); // voila! Nachricht gesendet
Für jede Größenordnung würde ich ein Gateway wie Twilio empfehlen. Sie müssen sich keine Sorgen über die Verfolgung der Fluggesellschaft machen, und nach meiner Erfahrung waren sie äußerst zuverlässig. Irgendwelche Rückmeldungen oder Vorschläge, lassen Sie mich in den Kommentaren unten wissen.