it-swarm.it

Come aggiungere SMS funzionalità di messaggistica di testo al mio sito Web?

Voglio aggiungere la possibilità di inviare promemoria alle persone via e-mail e SMS per eventi specifici a cui si sono registrati su un'applicazione Web che sto creando. La parte e-mail non è difficile, ma mi chiedo dove trovare una buona soluzione per inviare SMS messaggi.

Sarebbe anche un vantaggio se questa soluzione consentisse la comunicazione bidirezionale SMS con la mia applicazione Web in modo che le persone fossero in grado di rispondere con un tipo CONFIRM o CANCEL di un messaggio.

Qualcuno ha implementato qualcosa del genere? Qualcuno sa di buoni strumenti là fuori?

EDIT: Mi sto rendendo conto che questo è più un tipo di domanda "molti modi per scuoiare questo gatto" e quindi l'ho cambiato in wiki della comunità.

57
jessegavin

Ho dovuto modificare questa risposta alcune volte poiché i servizi inizialmente raccomandati sono andati fuori servizio. Credo che il nuovo leader del settore sia Twilio, hanno un'API eccellente e prezzi ragionevoli. Alcune alternative che vale la pena considerare sono Tropo , Plivo , e - Nexmo .

Sto usando IMified per un po 'di tempo per fare cose simili a quella e ho trovato che funziona bene. Ti consente di ricevere SMS (o messaggi Twitter e di messaggistica istantanea) come POST HTTP e la risposta del tuo server web viene inviata come risposta. Offrono anche un servizio Web che può essere utilizzato per avviare la conversazione e inviare messaggi .

Mentre cercavo altre opzioni, mi sono imbattuto in Zeep Mobile (Nota: Zeep Mobile non sarà più in attività a partire dall'1/1/2013) che ha un'API per l'invio e la ricezione di SMS. È gratuito e supportato da pubblicità o disponibile a pagamento mensile. Non l'ho provato, ma sembra abbastanza interessante.

Puoi anche utilizzare un SMS Gateway come ClickATell.

Buona fortuna!

EDIT: Ho trovato una domanda su StackOverflow che ha molti più suggerimenti, alcuni potrebbero non essere aggiornati.

25
Adam

Avevo un amico che è riuscito a implementarlo via e-mail. Credo che abbia fatto esattamente allo stesso modo questo sito consiglia :

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

dove numero di telefono = il tuo numero di telefono a 10 cifre

15
Mike

Sto usando Twilio per voice e sono rimasto piuttosto colpito. Sono sicuro che il loro sistema SMS non è molto diverso. Ciò ti consentirà di inviare a qualsiasi operatore telefonico senza conoscere l'indirizzo e-mail a cui inviare (come ho notato che cambiano nel tempo).

9
Darryl Hein

Questo è solo per l'invio, ma ho usato Penny SMS per un progetto e ho avuto fortuna con esso. Se ti capita di usare Ruby, controlla penny_sms_muncher gem .

5
Matthew Shanley

Altre due opzioni che ho considerato in passato:

API Skype
Invia e ricevi SMS utilizzando la nuova API di Skype. Immagino che Twilio sia più economico, ma Skype è disponibile in più paesi (se si desidera ricevere SMS)

Collegare un telefono al server
Se vivi in ​​un paese (come l'Argentina) dove SMS le società di gateway fanno pagare molto, potresti trovare più economico acquistare un telefono e collegarlo al tuo server (a seconda del tuo ambiente di hosting , ovviamente). Quindi è possibile utilizzare un software come SMSToolkit per interagire con il telefono.

4
Eduardo Molteni

Consiglierei di esaminare le API a due vie fornite da http://www.world-text.com/ .

3
AronHopkins

Se si desidera un fornitore di massa SMS economico, con un'API per sviluppatori, è possibile utilizzare www.SourceSMS.com: offrono copertura internazionale e dispongono di script che è possibile scaricare e integrare nel proprio sito Web.

2
Liam Harris

Ho scritto un sistema SMS in due modi usando Vidicom UK come provider SMS (non sono sicuro che funzionino ancora). Fondamentalmente hanno un'API basata su HTTP in cui è possibile inviare e ricevere SMS messaggi. È troppo complesso da spiegare in dettaglio, ma in sostanza avevo due tabelle di database, una per i messaggi in arrivo ricevuti dal gateway e un'altra per i messaggi in uscita che sono in coda e quindi inviati al gateway.

Fondamentalmente ho dovuto analizzare i messaggi in arrivo per vedere se contenevano parole chiave come CANCEL o STOP e quindi elaborare il messaggio di conseguenza. Sfortunatamente, ricevi molti messaggi spazzatura - rimarrai sorpreso da quante persone inviano SMS messaggi al numero sbagliato - quindi devi rispondere dicendo "Messaggio non compreso" ecc.

2
Dan Diplo

Un'altra opzione è quella di utilizzare la funzione di posta di PHP e un elenco di server di posta elettronica del corriere, in questo modo:

Crea un modulo HTML su un file PHP,

<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>

Quindi impostare dove verrà inviata la posta:

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]";
}

Invia la mail: ($ email, $ subject, $ msg, $ mailfrom dovranno essere definiti e nel formato corretto, consigliamo anche di disinfettare gli input)

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.";
}

Assicurati che PHP abbia impostazioni di posta valide in php.ini. In caso di domande, basta chiedere.

1
ionFish

Ci sono molti produttori e fornitori di servizi. Conosco Ozeki SMS Gateway. I seguenti URL possono aiutarti se desideri una soluzione interna con il proprio modem gsm o SMPP/UCP/CMD o altro provider. Quando prendi una decisione la prima domanda: quanti SMS vuoi inviare o ricevere?

HTTP SMS API con esempi .

API SMS per sviluppatori ASP/ASP.NET ed esempi per PHP Gli sviluppatori su come impostare le pagine di funzionalità SMS possono fornirti informazioni utili.

0
Lilio Luami

Non sono sicuro che tu possa fare qualcosa con le risposte, ci sono alcune API create per implementare la funzionalità di testo con Google Voice.

http://code.google.com/p/pygooglevoice/

http://code.google.com/p/google-voice-Java/

0
Nick Painter