La messaggistica di testo è diventata estremamente diffusa in tutto il mondo - al punto che un numero crescente di applicazioni Web ha integrato SMS per notificare agli utenti eventi, vendite o coupon direttamente attraverso i loro dispositivi mobili.
In questo tutorial, tratteremo i fondamenti dell'invio di messaggi di testo con PHP.
Prima di entrare nel processo passo-passo, potresti voler dare un'occhiata a una soluzione già pronta: SMS Sender, disponibile su Envato Market. Questo script PHP ti consente di:
Se preferisci creare il tuo mittente di messaggi di testo da zero, ecco come farlo.
L'invio di un messaggio di testo (SMS) è in realtà piuttosto semplice.
Di seguito è riportato uno schema semplificato di come un messaggio può essere inviato da un'applicazione Web a un dispositivo wireless.
Lo spezzeremo - un pezzo alla volta:
La maggior parte delle reti wireless dispone di un gateway SMS tramite il quale i messaggi di posta elettronica possono essere inviati come messaggi di testo a un dispositivo mobile. Questo è bello, perché, dal punto di vista di uno sviluppatore, è generalmente gratuito, tuttavia, ovviamente non è un servizio gratuito per l'utente finale. Le tariffe si applicano ancora al destinatario del messaggio e i messaggi inviati via e-mail verranno fatturati come messaggi di testo non di rete.
Per inviare un SMS via email, generalmente occorrono solo due cose:
La seguente convenzione può essere seguita per la maggior parte dei corrieri:
[email protected]
numero di telefono
è il numero di telefono del dispositivo mobile a cui inviare il messaggio, e domainName.com
è l'indirizzo per il gateway SMS della rete.
Per inviare un messaggio a Mr. Example, puoi semplicemente aggiungere [email protected] a qualsiasi client di posta elettronica, digitare un messaggio e premere invio. Ciò invierà un messaggio di testo al numero di telefono +1 (385) 555-0168 sulla rete wireless Verizon.
Ad esempio, invierò un messaggio di testo a me stesso utilizzando Gmail.
Quando il mio telefono riceve il messaggio, dovrebbe apparire così:
Abbastanza bello!
posta
Funzione Facciamo un passo in più. Usando il gateway SMS, possiamo inviare un messaggio di testo via e-mail usando PHP posta
funzione. Il posta
la funzione ha la seguente firma:
bool mail (stringa $ a, stringa $ oggetto, stringa $ messaggio [, stringa $ additional_headers [, stringa $ additional_parameters]]))
Puoi leggere di più qui.
$ a
definisce il destinatario o i destinatari del messaggio. Esempi validi includono: $ subject
è piuttosto auto esplicativo; dovrebbe essere una stringa contenente il soggetto desiderato. Tuttavia, SMS non richiedono un soggetto. $ messaggio
è il messaggio da consegnare. Come menzionato nel manuale PHP, "ogni riga deve essere separata con un LF (\ n). Le linee non devono essere più grandi di 70 caratteri." Per replicare la funzionalità precedente, potremmo scrivere il seguente codice PHP:
mail ('[email protected]', ", 'Testing');
Facciamo un test con PHP per assicurarsi che tutto sia configurato correttamente e che il posta
la funzione, infatti, invierà un messaggio di testo. Usando il seguente codice, possiamo eseguire:
Quando il mio telefono riceve il messaggio, sembra che sia così:
Se si verifica un errore, consultare la sezione sulla risoluzione dei problemi.
Come puoi vedere nell'immagine sopra, il messaggio mostra che proviene da Gmail. Questo perché instrado tutti i miei messaggi in uscita dal mio server locale attraverso quel servizio. Sfortunatamente, al momento della stesura di questo articolo, non sono riuscito a modificare il A partire dal
intestazione per riflettere un indirizzo alternativo. Sembra che le intestazioni delle e-mail siano state rimosse e sostituite con intestazioni preparate dal gateway SMS. Se qualcuno sa di una soluzione alternativa, lascia un commento e lascia che il resto di noi lo sappia!
Con le nozioni di base, prendiamo questa idea e avvolgiamo un'interfaccia utente attorno ad essa. Innanzitutto imposteremo un modulo semplice:
Invio di SMS con PHP