I et nylig prosjekt ble jeg bedt om å komme med en løsning for å sende tekstmeldinger ut som en premiefunksjon på en kundes medlemsskapsside. Dette er ikke noe jeg noensinne har gjort før, men jeg skjønte at jeg ville kompilere all informasjonen jeg samlet inn i en enkel opplæring for de som ønsker å gjøre det samme
Det frivillige alternativet - E-post
Hvis du ikke allerede vet, kan tekstmeldinger faktisk sendes via e-post til de fleste mobiloperatører. For eksempel er jeg en AT & T kunde. For å sende meg en tekstmelding uten telefon, kunne jeg åpne gmail, og sende en e-post til: [e-postbeskyttet] Jeg vil få tekstmeldingen akkurat som jeg ville ha en annen melding.
Å bruke dette til PHP er enkelt nok med hensyn til faktisk kode. Postfunksjonen vil gjøre trikset ganske pent. Hvis du har nummeret ditt hendig og vet hvilken transportør nummeret bruker, kan du slå opp mobilbåten her. For å sende en melding til meg selv, var det like enkelt som:
$ number = "999-999-9999"; $ carrier = "@ txt.att.net"; $ message = "Dette er en tekst"; $ sendt = post ("[e-postbeskyttet] $ carrier", "Test", $ message); ekko $ sendt? "E-post sendt": "E-post IKKE sendt"; // post (e-postadresse, emne, kropp); // emnet er ikke påkrevet og kan stå tomt hvis ønskelig
Dette kan imidlertid skape dilemnas. Det krever at du kjenner både nummeret og mobiltelefonen. Med nummerportabilitet kan mobiltelefonoperatøren endre seg, og med mindre en bruker informerer deg om denne informasjonen, ville du ikke ha mulighet til å vite at operatøren endret seg. Dette alternativet var bare ikke mulig for oss da vi trengte det til å fungere feilfritt, uansett om de endret transportører eller hva som måtte ha vært. Hvis vi hadde nummeret, er det all den informasjonen vi trenger. Å spørre brukeren om å opprettholde mer informasjon enn den oppdaterte, ble spurt for mye.
Jeg kunne se at dette var en nyttig måte å sende tekstmeldinger hvis jeg bare lette etter å bygge en form for varslingstjeneste for meg selv. det vil si om en av mine daglige cron-skript var feil, noe i den retningen. Dette er ikke en skalerbar pålitelig løsning for noen form for løsning større enn bare noen få brukere.
Det betalte alternativet - SMS Gateways
Det er mange SMS-gateways der ute, med forskjellige prispunkter og APIer. SMS-gateways er ikke gratis, men de gir en sikrere og klarere måte å få jobben til. Jeg husket å gjøre litt forskning på dette emnet om et år siden og navnet Twilio satt fast. De er hvem jeg endte med å bruke og en rask og enkel opplæring er nedenfor. De koster 1 cent per tekstmelding, ikke den billigste, men veldig rimelig for det vi prøvde å oppnå.
Slik sender du en tekstmelding med Twilio
Du må først ha en konto hos dem, så skriv deg på. Du vil bli forsynt med et bruker-ID og autentiseringstoken som du kan koble til de aktuelle variablene nedenfor. Deretter laster du ned det offisielle Twilio PHP-biblioteket herfra.
// inkluderer det offisielle Twilio PHP biblioteket inkluderer 'Tjenester / Twilio.php'; $ accountid = "#######"; $ token = "#######"; // erklære en ny forekomst av twilio-tjenestene klassen $ client = new Services_Twilio ($ AccountSid, $ AuthToken); $ mynumber = "#########"; $ til = "########"; $ body = "dette er en tekstmelding"; $ klient-> konto-> sms_messages-> lag ($ fra, $ til, $ kropp); // voila! Melding sendt
For noen grad av skala i det hele tatt, vil jeg anbefale å bruke en gateway som Twilio. Du trenger ikke å bekymre deg for å holde styr på transportøren, og i min erfaring har de vært ekstremt pålitelige. Eventuelle tilbakemeldinger eller forslag, gi meg beskjed i kommentarene nedenfor.