Tekstberichten zijn over de hele wereld enorm verspreid - tot het punt waarop steeds meer webapplicaties SMS hebben geïntegreerd om gebruikers op de hoogte te brengen van evenementen, verkopen of kortingsbonnen via hun mobiele apparaten.
In deze zelfstudie behandelen we de basisprincipes van het verzenden van SMS-berichten met PHP.
Voordat we ingaan op het stapsgewijze proces, wilt u wellicht kijken naar een kant-en-klare oplossing: SMS Sender, beschikbaar op Envato Market. Met dit PHP-script kun je:
Als u de afzender van uw tekstberichten liever helemaal opnieuw samenstelt, kunt u het volgende doen.
Het verzenden van een sms-bericht is eigenlijk vrij eenvoudig.
Hieronder ziet u een vereenvoudigd diagram van hoe een bericht kan worden verzonden van een webtoepassing naar een draadloos apparaat.
We zullen dit stuk voor stuk opdelen: één stuk per keer:
De meeste draadloze netwerken hebben een sms-gateway waarmee e-mailberichten als tekstberichten naar een mobiel apparaat kunnen worden verzonden. Dit is leuk, want vanuit het standpunt van een ontwikkelaar is het over het algemeen gratis, maar het is natuurlijk geen gratis service voor de eindgebruiker. Kosten zijn nog steeds van toepassing op de ontvanger van het bericht en berichten die via e-mail worden verzonden, worden gefactureerd als een sms-bericht zonder netwerk.
Als u per e-mail een sms-bericht wilt verzenden, heeft u meestal slechts twee dingen nodig:
De volgende overeenkomst kan voor de meeste providers worden gevolgd:
[email protected]
telefoonnummer
is het telefoonnummer van het mobiele apparaat waarnaar het bericht moet worden verzonden, en domainName.com
is het adres voor de SMS Gateway van het netwerk.
Om een tekst naar Mr. Example te sturen, kunt u eenvoudig [email protected] toevoegen aan een e-mailclient, een bericht typen en op Verzenden drukken. Dit stuurt een sms-bericht naar telefoonnummer +1 (385) 555-0168 op het Verizon Wireless Network.
Ik stuur bijvoorbeeld een sms-bericht naar mezelf met Gmail.
Wanneer mijn telefoon het bericht ontvangt, ziet het er als volgt uit:
Best gaaf!
mail
Functie Laten we een stap verder gaan. Via de SMS Gateway kunnen we via e-mail een sms sturen met behulp van PHP's mail
functie. De mail
functie heeft de volgende handtekening:
bool mail (string $ to, string $ subject, string $ message [, string $ additional_headers [, string $ additional_parameters]])
Je kunt hier meer over lezen.
$ om
definieert de ontvanger of ontvangers van het bericht. Geldige voorbeelden zijn onder meer: $ subject
is nogal zelfverklarend; het zou een reeks moeten zijn die het gewenste onderwerp bevat. Echter, sms hebben niet nodig een vak. $ message
is het bericht dat moet worden afgeleverd. Zoals vermeld in de PHP-handleiding, "elke regel moet worden gescheiden door een LF (\ n) .Lijnen mogen niet groter zijn dan 70 tekens." Om de eerdere functionaliteit te repliceren, kunnen we de volgende PHP-code schrijven:
mail ('[email protected]', ", 'Testen');
Laten we een test uitvoeren met PHP om ervoor te zorgen dat alles correct is ingesteld en dat de mail
functie stuurt in feite een sms-bericht. Met behulp van de volgende code kunnen we het volgende uitvoeren:
Wanneer mijn telefoon het bericht ontvangt, ziet het er zo uit:
Als u een foutmelding krijgt, raadpleegt u het gedeelte Problemen oplossen.
Zoals u in de bovenstaande afbeelding kunt zien, wordt in het bericht weergegeven dat dit afkomstig is van Gmail. Dit komt omdat ik al mijn uitgaande berichten van mijn lokale server via die service routeer. Helaas, vanaf dit schrijven, ben ik niet succesvol in het veranderen van de Van
kop om een alternatief adres weer te geven. Het lijkt erop dat de e-mailheaders zijn verwijderd en vervangen door headers die zijn voorbereid door de SMS-gateway. Als iemand weet van een oplossing, laat een reactie achter en laat de rest van ons weten!
Laten we, met de basis uit de weg, dit idee nemen en een gebruikersinterface eromheen wikkelen. Eerst zullen we een eenvoudig formulier opstellen:
Sms verzenden met PHP