Sådan sender du tekstbeskeder med PHP

I et nyligt projekt blev jeg bedt om at komme med en løsning til at sende sms'er ud som en præmiefunktion på en kundes medlemskabswebsted. Dette er ikke noget, jeg nogensinde havde gjort før, men jeg regnede med at jeg ville kompilere alle de oplysninger, jeg samlet i en enkel tutorial for dem, der ønsker at gøre det samme

Den gratis mulighed - E-mail

Hvis du ikke allerede vidste, kan tekstbeskeder faktisk sendes via e-mail til de fleste mobiloperatører. For eksempel er jeg en AT & T kunde. For at sende mig en tekstbesked uden en telefon kunne jeg åbne gmail og sende en e-mail til: [email protected] Jeg ville få sms'en ligesom jeg ville have en anden besked.
Anvendelse af dette til PHP er let nok med hensyn til den faktiske kode. Mail-funktionen gør tricket ret pænt. Hvis du har dit nummer handy og kender luftfartsselskabet, som nummeret bruger, kan du kigge op på mobilbæreren her. For at sende en besked til mig selv var det lige så nemt som:

 $ number = "999-999-9999"; $ carrier = "@ txt.att.net"; $ message = "Dette er en tekst"; $ send = mail ("[email protected] $ carrier", "Test", $ message); echo $ sendt? "Mail sendt": "E-mail ikke sendt"; // mail (e-mail adresse, emne, krop); // emnet er ikke påkrævet og kan efterlades tomt hvis det ønskes 

Dette kan dog skabe dilemnas. Det kræver, at du kender både nummeret og mobiltelefonen. Med nummerportabilitet kan mobiltelefonbæreren ændre sig, og medmindre en bruger giver dig besked om disse oplysninger, ville du ikke have nogen måde at vide, at deres transportør er ændret. Denne mulighed var bare ikke mulig for os, da vi havde brug for det til at fungere fejlfrit, uanset om de ændrede transportører eller hvad end måtte være tilfældet. Hvis vi havde nummeret, er det al den information, vi skal bruge. At bede brugeren om at opretholde mere information end den opdaterede, stillede for meget.
Jeg kunne se, at dette var en nyttig måde at sende sms'er til, hvis jeg bare søgte at bygge en form for underretningstjeneste til mig selv. dvs. hvis en af ​​mine daglige cron scripts svigtede, noget i den retning. Dette er ikke en skalerbar pålidelig løsning til nogen form for løsning, der er større end blot nogle få brugere.

Den betalte mulighed - SMS Gateways

Der er mange SMS gateways derude, med forskellige prispunkter og API'er. SMS gateways er ikke gratis, men de giver en mere sikker og betroet måde at få jobbet på. Jeg huskede at lave nogle undersøgelser om dette emne for et år siden og navnet Twilio sidder fast. De er hvem jeg sluttede med, og en hurtig og nem vejledning er nedenfor. De koster 1 cent pr sms, ikke den billigste, men meget rimelige for det, vi forsøgte at opnå.

Sådan sender du en SMS med Twilio

Du skal først have en konto hos dem, så gå tilmeld dig. Du vil blive forsynet med et bruger id og godkendelsestoken, som du kan tilslutte til de relevante variabler nedenfor. Dernæst download det officielle Twilio PHP bibliotek herfra.

 // Inkluder det officielle Twilio PHP bibliotek inkluderer 'Services / Twilio.php'; $ accountid = "#######"; $ token = "#######"; // erklære en ny forekomst af twilio services class $ client = new Services_Twilio ($ AccountSid, $ AuthToken); $ mynumber = "#########"; $ til = "#########"; $ body = "dette er en tekstbesked"; $ client-> account-> sms_messages-> oprette ($ fra, $ til, $ body); // voila! besked sendt 

I nogen grad af skala overhovedet vil jeg anbefale at bruge en gateway som Twilio. Du behøver ikke bekymre dig om at holde styr på transportøren, og i min erfaring har de været yderst pålidelige. Eventuelle tilbagemeldinger eller forslag, lad mig vide i kommentarerne nedenfor.

Se Også