Tekstmeldinger har blitt ekstremt utbredt over hele verden - til det punktet hvor et økende antall webprogrammer har integrert SMS for å varsle brukere av hendelser, salg eller kuponger direkte gjennom sine mobile enheter.
I denne opplæringen vil vi dekke grunnleggende for å sende tekstmeldinger med PHP.
Før vi går inn i trinn-for-trinn-prosessen, vil du kanskje se på en ferdig løsning: SMS Sender, tilgjengelig på Envato Market. Dette PHP-skriptet lar deg:
Hvis du foretrekker å bygge tekstmeldingssenderen fra grunnen av, kan du gjøre det her.
Sende en SMS-melding er faktisk ganske enkelt.
Nedenfor er et forenklet diagram over hvordan en melding kan sendes fra et webprogram til en trådløs enhet.
Vi bryter dette ned - ett stykke av gangen:
De fleste trådløse nettverk har en SMS-gateway der e-postmeldinger kan sendes som tekstmeldinger til en mobilenhet. Dette er fint, for det er fra en utviklerens synspunkt generelt gratis, men det er selvfølgelig ikke en gratis tjeneste for sluttbrukeren. Gebyrer gjelder fortsatt for mottakeren av meldingen, og meldinger sendt via e-post vil bli fakturert som en ikke-tekstmeldingsmelding.
For å sende en SMS via e-post, trenger du vanligvis kun to ting:
Følgende konvensjon kan følges for de fleste bærere:
[email protected]
telefonnummer
er telefonnummeret til mobilenheten for å sende meldingen til, og domainName.com
er adressen til nettverks SMS Gateway.
For å sende en tekst til Mr. Eksempel, kan du ganske enkelt legge til [email protected] til en hvilken som helst e-postklient, skrive inn en melding og trykk send. Dette vil sende en tekstmelding til telefonnummer +1 (385) 555-0168 på Verizon Wireless Network.
For eksempel sender jeg en tekstmelding til meg selv ved hjelp av Gmail.
Når telefonen mottar meldingen, skal den se slik ut:
Ganske utrolig!
post
Funksjon La oss ta ting et skritt videre. Ved hjelp av SMS Gateway kan vi sende en tekstmelding via e-post ved hjelp av PHP post
funksjon. De post
funksjonen har følgende signatur:
bool post (streng $ til, streng $ emne, streng $ melding [, streng $ additional_headers [, streng $ additional_parameters]])
Du kan lese mer om det her.
$ til
definerer mottaker eller mottakere av meldingen. Gyldige eksempler inkluderer: $ emnet
er ganske selvforklarende; Det bør være en streng som inneholder ønsket emne. Men SMS ikke krever et emne. $ melding
er meldingen som skal leveres. Som nevnt i PHP-håndboken, "hver linje skal skilles med en LF (\ n). Linjene skal ikke være større enn 70 tegn." For å replikere den tidligere funksjonaliteten kan vi skrive følgende PHP-kode:
post ('[email protected]', ',' Testing ');
La oss kjøre en test med PHP for å sikre at alt er riktig konfigurert og at post
funksjonen vil faktisk sende en tekstmelding. Ved å bruke følgende kode kan vi kjøre:
Når telefonen mottar meldingen, ser den slik ut:
Hvis du får en feil, kan du se delen Feilsøking.
Som du ser på bildet over, viser meldingen at den kommer fra Gmail. Dette er fordi jeg ruter alle mine utgående meldinger fra min lokale server gjennom den tjenesten. Dessverre har jeg, etter denne skrivingen, mislyktes ved å endre Fra
header for å reflektere en alternativ adresse. Det ser ut til at e-posthodene er fjernet og erstattet med overskrifter utarbeidet av SMS-gatewayen. Hvis noen vet om en løsning, vennligst legg igjen en kommentar og la resten av oss vite det!
Med det grunnleggende ut av veien, la oss ta denne ideen og pakke inn et brukergrensesnitt rundt det. Først vil vi sette opp en enkel form:
Sende SMS med PHP