Wie füge ich meiner Website SMS-Funktionen hinzu?

57

Ich möchte die Möglichkeit hinzufügen, Erinnerungen per E-Mail und SMS an bestimmte Ereignisse zu senden, für die sie sich in einer von mir erstellten Webanwendung angemeldet haben. Der E-Mail-Teil ist nicht schwierig, aber ich frage mich, wo ich eine gute Lösung zum Versenden von SMS-Nachrichten finden kann.

Es wäre auch ein Plus, wenn diese Lösung eine bidirektionale SMS-Kommunikation mit meiner Webanwendung ermöglichen würde, sodass die Benutzer in der Lage wären, eine Nachricht mit dem Typ BESTÄTIGEN oder ABBRECHEN zu beantworten.

Hat jemand so etwas implementiert? Kennt jemand gute Werkzeuge da draußen?

BEARBEITEN: Ich stelle fest, dass es sich hier eher um eine Frage vom Typ "Viele Möglichkeiten, diese Katze zu häuten" handelt, und habe sie daher in Community-Wiki geändert.

jessegavin
quelle
+1, ich kenne ein Dutzend Einweg-SMS-API-Anbieter, aber keine, die zurückschicken, wenn eine Antwort eingeht.
Tim Post
Ich habe dieser Frage ein Kopfgeld hinzugefügt, in der Hoffnung, die Antworten auf diese Frage zu verbessern.
Artlung
jessegavin, Wenn Sie die beste Antwort auswählen möchten, wenden Sie sich an - die Prämie endet morgen!
Artlung

Antworten:

25

Ich musste diese Antwort einige Male bearbeiten, da die von mir ursprünglich empfohlenen Dienste nicht mehr in Betrieb waren. Ich glaube, dass der neue Branchenführer Twilio ist , sie haben eine hervorragende API und vernünftige Preise. Einige erwägenswerte Alternativen sind Tropo , Plivo und Nexmo .

Ich benutze IMified seit einiger Zeit, um ähnliche Dinge zu tun, und ich habe festgestellt, dass es gut funktioniert. Sie können SMS (oder Twitter- und IM-Nachrichten) als HTTP-POSTs empfangen und die Antwort Ihres Webservers als Antwort senden. Sie bieten auch einen Webdienst an, mit dem Konversationen initiiert und Nachrichten gesendet werden können .

Während ich nach anderen Optionen suchte, stieß ich auf Zeep Mobile (Hinweis: Zeep Mobile ist ab dem 01.08.2013 nicht mehr in Betrieb), das über eine API zum Senden und Empfangen von SMS verfügt. Es ist entweder kostenlos und werbefinanziert oder gegen eine monatliche Gebühr erhältlich. Ich habe es nicht ausprobiert, aber es sieht ziemlich interessant aus.

Sie können auch ein SMS-Gateway wie ClickATell verwenden .

Viel Glück!

BEARBEITEN: Ich habe eine Frage zu StackOverflow gefunden, die viele weitere Vorschläge enthält. Einige sind möglicherweise veraltet.

Adam
quelle
Ich benutze auch CLickATell und bin mit dem Service zufrieden.
Alex
Ich werde mich für den bezahlten Service von Plivo einsetzen, es ist sehr gut. Früher haben wir Twilio verwendet, das ebenfalls hervorragend ist, aber mehr kostet.
Frank
15

Ich hatte einen Freund, der es geschafft hat, dies per E-Mail umzusetzen. Ich glaube, er hat es genauso gemacht, wie es auf dieser Website empfohlen wird :

T-Mobile: Telefonnummer @ tmomail.net
Virgin Mobile: Telefonnummer @ vmobl.com
Cingular: Telefonnummer @ cingularme.com
AT & T: [email protected]
Sprint: Telefonnummer @ messaging.sprintpcs.com
Verizon: Telefonnummer @ vtext.com
Nextel : Telefonnummer @ messaging.nextel.com

Dabei ist Telefonnummer = Ihre 10-stellige Telefonnummer

Mike
quelle
1
Ich habe dies gerade getestet und mein Mobilfunkanbieter (AT & T) hat das FROM: [Absendername], SUBJ: [Betreffzeile], MSG: [Nachrichteninhalt] am Anfang der Textnachricht hinzugefügt. - Das sind also (mindestens) 21 Zeichen, die mit dieser Methode verbraucht werden. Ich denke, dass dies (zumindest für mich) für die meisten öffentlich zugänglichen Webanwendungen nicht akzeptabel wäre.
Jessegavin
3
@artlung en.wikipedia.org/wiki/List_of_carriers_providing_SMS_transitis eine ziemlich umfassende Liste.
Yahel
7
Sie meinen en.wikipedia.org/wiki/List_of_SMS_gateways , aber danke!
artlung
2
In meinem Land (Argentinien) müssen Sie die SMS bezahlen, die Sie per E-Mail erhalten haben (Ihre Kunden mögen es möglicherweise nicht)
Eduardo Molteni
1
Wie bestimmen Sie, wer der Spediteur ist?
Adam
9

Ich habe Twilio für die Stimme benutzt und war ziemlich beeindruckt. Ich bin sicher, dass ihr SMS- System nicht viel anders ist. Auf diese Weise können Sie an einen beliebigen Mobilfunkanbieter senden, ohne die E-Mail-Adresse zu kennen, an die Sie senden möchten (wie mir aufgefallen ist, dass sie sich im Laufe der Zeit ändern).

Darryl Hein
quelle
Sie verwenden also deren API? Wie benutzt du es?
Artlung
1
Ich verwende ihre Sprach-API, um Anrufe zu tätigen, die über PHP-Skripte ausgelöst werden. Ich verwende es, um Anrufe zu tätigen, und verwende es, um Sprachnachrichten zu verfassen und dann die Antworten des Benutzers anzunehmen.
Darryl Hein
5

Dies ist nur zum Versenden gedacht, aber ich habe Penny SMS für ein Projekt verwendet und viel Glück damit gehabt. Wenn Sie Ruby verwenden, lesen Sie den Edelstein penny_sms_muncher .

Matthew Shanley
quelle
4

Weitere zwei Optionen, die ich in der Vergangenheit in Betracht gezogen habe:

Skype-API
Senden und empfangen Sie SMS mit der neuen Skype-API. Ich denke Twilio ist billiger, aber Skype ist in mehr Ländern verfügbar (wenn Sie SMS erhalten möchten)


Schließen Sie ein Telefon an Ihren Server an. Wenn Sie in einem Land wie Argentinien leben, in dem SMS-Gateway-Unternehmen viel Geld verlangen, ist es möglicherweise günstiger, ein Telefon zu kaufen und an Ihren Server anzuschließen (dies hängt natürlich von Ihrer Hosting-Umgebung ab). Dann können Sie eine Software wie SMSToolkit verwenden, um mit dem Telefon zu interagieren.

Eduardo Molteni
quelle
2

Ich habe ein solches Zwei-Wege-SMS-System unter Verwendung von Vidicom UK als SMS-Anbieter geschrieben (nicht sicher, ob es noch läuft). Grundsätzlich verfügen sie über eine HTTP-basierte API, über die Sie SMS-Nachrichten senden und empfangen können. Es ist zu komplex, um es im Detail zu erklären, aber im Wesentlichen hatte ich zwei Datenbanktabellen, eine für eingehende Nachrichten, die vom Gateway empfangen wurden, und eine für ausgehende Nachrichten, die in die Warteschlange gestellt und dann an das Gateway weitergeleitet wurden.

Grundsätzlich musste ich dann die eingehenden Nachrichten analysieren, um festzustellen, ob sie Schlüsselwörter wie CANCEL oder STOP enthielten, und die Nachricht dann entsprechend verarbeiten. Leider bekommen Sie viele Müllnachrichten - Sie wären überrascht, wie viele Leute SMS-Nachrichten an die falsche Nummer senden - Sie müssen also mit "Nachricht nicht verstanden" antworten usw.

Dan Diplo
quelle
2

Wenn Sie einen erschwinglichen Massen-SMS-Anbieter suchen, können Sie mit einer Entwickler-API www.SourceSMS.com verwenden. Diese Anbieter bieten internationale Abdeckung und verfügen über Skripts, die Sie einfach herunterladen und in Ihre Website integrieren können.

Liam Harris
quelle
1

Eine andere Möglichkeit ist, die Mail-Funktion von PHP und eine Liste der E-Mail-Server des Betreibers wie folgt zu verwenden:

Erstellen Sie ein HTML-Formular für eine PHP-Datei.

<select name="carrier" style="width: 130px" >
<option selected="" value="1">Verizon Wireless</option>
<option value="2">Alltel</option>
<option value="3">Boost Mobile</option>
<option value="4">Cingular</option>
<option value="5">Nextel</option>
<option value="6">Sprint</option>
<option value="7">T-Mobile</option>
<option value="8">Virgin Mobile</option>
<option value="9">AT&T</option>
</select>

Stellen Sie dann ein, wohin die Mail gesendet werden soll:

if ($carrier == "1") {
    $email = "[email protected]";
} elseif ($carrier == "2") {
    $email = "[email protected]";
} elseif ($carrier == "3") {
    $email = "[email protected]";
} elseif ($carrier == "4") {
    $email = "[email protected]";
} elseif ($carrier == "5") {
    $email = "[email protected]";
} elseif ($carrier == "6") {
    $email = "[email protected]";
} elseif ($carrier == "7") {
    $email = "[email protected]";
} elseif ($carrier == "8") {
    $email = "[email protected]";
} elseif ($carrier == "9") {
    $email = "[email protected]";
}

Senden Sie die E-Mail: ($ email, $ subject, $ msg, $ mailfrom müssen definiert sein und das richtige Format haben. Es wird empfohlen, auch Eingaben zu bereinigen.)

if (mail($email, $subject, $msg, $mailfrom)) {
    echo "<h4>Your Text Was Successfully Sent.</h4>";
    echo "<br />";
    if ($backurl == "") {
        echo "<a href='javascript:history.back(1);'>Back</a>";
    } else {
        echo "<a href='" . $backurl . "'>Back</a>";
    }
    echo "</body></html>";
} else {
    echo "<h4><b>Error Sending Message</b></h4><br>Can't send txt to $to. <br> Contact the site Administrator.";
}

Stellen Sie sicher, dass PHP über gültige Mail-Einstellungen in der php.ini verfügt. Wenn Sie Fragen haben, fragen Sie einfach.

ionFish
quelle
0

Es gibt viele Hersteller und Dienstleister. Ich kenne Ozeki SMS Gateway. Die folgenden URLs können Ihnen helfen, wenn Sie eine Inhouse-Lösung mit eigenem GSM-Modem oder SMPP / UCP / CMD oder einem anderen Anbieter wünschen. Wenn Sie eine Entscheidung treffen, die erste Frage: Wie viele SMS möchten Sie senden oder empfangen?

HTTP SMS API mit Beispielen .

SMS-API für ASP / ASP.NET-Entwickler und Beispiele für PHP-Entwickler zum Einrichten von SMS-Funktionsseiten können nützliche Informationen enthalten.

Lilio Luami
quelle