Anonim

В неотдавнашен проект ме помолиха да предложа решение за изпращане на текстови съобщения като отлична функция в сайта за членство на клиента. Това не е нещо, което някога съм правил преди, но реших, че ще събера цялата информация, която събрах, в един прост урок за тези, които искат да направят същото

Безплатната опция - електронна поща

Ако още не сте знаели, текстовите съобщения всъщност могат да бъдат изпращани чрез електронна поща до повечето мобилни оператори. Например, аз съм клиент на AT&T. За да си изпратя текстово съобщение без телефон, бих могъл да отворя gmail и да изпратя имейл до: Ще получа текстовото съобщение точно както бих направил всяко друго съобщение.
Прилагането на това към PHP е достатъчно лесно от гледна точка на действителния код. Функцията за поща ще свърши трика доста добре. Ако имате вашия номер под ръка и знаете оператора, който номерът използва, можете да потърсите тук мобилния оператор. Да изпратя съобщение до себе си, беше толкова лесно, колкото:

$ number = "999-999-9999"; $ carrier = "@ txt.att.net"; $ message = "Това е текст"; $ sent = mail ("$ carrier", "Test", $ message); echo $ изпратен? „Поща изпратена“: „Поща НЕ изпратена“; // поща (имейл адрес, тема, орган); // темата не се изисква и при желание може да бъде оставена празна

Това обаче може да създаде дилеми. Това изисква да знаете както номера, така и носача на мобилния телефон. С преносимостта на номера доставчикът на мобилен телефон може да се промени и освен ако потребителят не ви уведоми за тази информация, вие няма да имате възможност да знаете, че техният оператор е променен. Тази опция просто не беше осъществима за нас, тъй като се нуждаехме от нея да работи безупречно, независимо дали са сменили превозвачите или какъвто и да е случаят. Ако имахме номера, това е цялата информация, от която би трябвало. За да помолите потребителя да поддържа повече информация от тази досега, беше твърде много.
Мога да видя, че това е полезен начин за изпращане на текстови съобщения, ако просто гледам да изградя някаква услуга за уведомяване за себе си. т.е. ако един от дневните ми скриптове на cron се проваляше, нещо по тези линии. Това не е мащабируемо надеждно решение за всякакъв вид решение, по-голямо от само няколко потребители.

Оплатената опция - шлюзове за SMS

Има много SMS шлюзове там, с различни точки на ценообразуване и API. SMS шлюзовете не са безплатни, но осигуряват по-сигурен и надежден начин за свършване на работата. Спомних си, че направих някои изследвания по тази тема преди около година и името Twilio остана. Те са тези, които завърших да използвам и по-долу е даден бърз и лесен урок. Те струват 1 цент на текстово съобщение, не най-евтиното, но много разумно за това, което се опитвахме да постигнем.

Как да изпратите текстово съобщение с Twilio

Първо ще се нуждаете от акаунт при тях, така че отидете да се регистрирате. Ще ви бъде предоставен идентификационен номер за потребител и идентификатор за удостоверяване, който можете да включите в съответните променливи по-долу. След това изтеглете официалната библиотека на Twilio PHP от тук.

// включва официалната библиотека на PHP на Twilio включва „Услуги / Twilio.php“; $ accounttid = "#######"; $ token = "#######"; // деклариране на нов екземпляр от клас twilio услуги $ client = new Services_Twilio ($ AccountSid, $ AuthToken); $ mynumber = "##########"; $ to = "##########"; $ body = "това е текстово съобщение"; $ client-> account-> sms_messages-> create ($ from, $ to, $ body); // готово! съобщението е изпратено

За каквото и да е мащаб изобщо, бих препоръчал да използвате шлюз като Twilio. Не е нужно да се притеснявате да следите превозвача и според моя опит те бяха изключително надеждни. Всякакви отзиви или предложения, уведомете ме в коментарите по-долу.

Как да изпращате текстови съобщения с php