I ett nyligen genomfört projekt blev jag ombedd att komma med en lösning för att skicka textmeddelanden ut som en premiumfunktion på en kunds medlemswebbplats. Detta är inte någonting jag någonsin gjort tidigare, men jag tänkte att jag skulle sammanställa all information som jag samlade i en enkel handledning för dem som vill göra detsamma
Det fria valet - E-post
Om du inte visste det kan textmeddelanden faktiskt skickas via e-post till de flesta mobiloperatörer. Till exempel är jag en AT & T-kund. För att skicka mig ett textmeddelande utan en telefon kunde jag öppna gmail och skicka ett e-mail till: [email protected] Jag skulle få textmeddelandet precis som jag skulle något annat meddelande.
Att tillämpa detta på PHP är lätt nog när det gäller aktuell kod. Postfunktionen gör tricket ganska snyggt. Om du har ditt nummer handy och vet bäraren som numret använder, kan du slå upp mobilbäraren här. Att skicka ett meddelande till mig själv var lika lätt som:
$ number = "999-999-9999"; $ carrier = "@ txt.att.net"; $ message = "Detta är en text"; $ skickat = mail ("[email protected] $ carrier", "Test", $ message); echo $ skickat? "Mail skickad": "Mail NOT sent"; // mail (e-postadress, ämne, kropp); // ämnet är inte nödvändigt och kan lämnas tomt om det behövs
Detta kan dock skapa dilemnas. Det kräver att du vet både numret och mobilbäraren. Med nummerportabilitet kan mobiltelefonbäraren ändras, och om ingen användare meddelar dig denna information, skulle du inte ha någon möjlighet att veta att deras operatör har ändrats. Det här alternativet var inte möjligt för oss eftersom vi behövde det fungera felfritt oavsett om de bytte transportörer eller vad som helst kan ha varit. Om vi hade numret är det all information som vi behöver. Att be användaren att behålla mer information än den som uppdaterades frågade för mycket.
Jag kan se att det här är ett användbart sätt att skicka textmeddelanden om jag bara letade efter att bygga någon form av meddelandeservice för mig själv. det vill säga om ett av mina dagliga cron-skript misslyckades, något i samma riktning. Detta är inte en skalbar pålitlig lösning för någon form av lösning som är större än bara några användare.
Den Betalda Alternativen - SMS Gateways
Det finns många SMS-gateways där ute, med olika prispunkter och API. SMS-gateways är inte gratis, men de ger ett säkrare och pålitligare sätt att få jobbet gjort. Jag kom ihåg att göra lite forskning om detta ämne för ett år sedan och namnet Twilio fastnade. De är vem jag slutade använda och en snabb och enkel handledning finns nedan. De kostar 1 cent per textmeddelande, inte det billigaste, men mycket rimligt för vad vi försökte åstadkomma.
Så skickar du ett textmeddelande med Twilio
Du behöver först ett konto hos dem, så gå och registrera dig. Du kommer att få ett användar-ID och autentiseringstoken som du kan ansluta till lämpliga variabler nedan. Hämta sedan det officiella Twilio PHP-biblioteket härifrån.
// Inkludera det officiella Twilio PHP-biblioteket inkluderar "Tjänster / Twilio.php"; $ accountid = "#######"; $ token = "#######"; // förklara en ny instans av twilio-serviceklassen $ client = new Services_Twilio ($ AccountSid, $ AuthToken); $ mynumber = "########"; $ till = "#########"; $ body = "detta är ett textmeddelande"; $ client-> account-> sms_messages-> skapa ($ från, $ till, $ kropp); // voila! meddelande skickat
För vilken mängd som helst, skulle jag rekommendera att använda en gateway som Twilio. Du behöver inte oroa dig för att hålla reda på transportören och enligt min erfarenhet har de varit extremt tillförlitliga. Någon feedback eller förslag, låt mig veta i kommentarerna nedan.