В недавнем проекте меня попросили придумать решение для отправки текстовых сообщений в качестве расширенной функции на сайте клиента. Это не то, что я когда-либо делал раньше, но я решил собрать всю собранную информацию в один простой урок для тех, кто хочет сделать то же самое.
Бесплатный вариант - электронная почта
Если вы еще не знали, текстовые сообщения могут быть отправлены по электронной почте большинству операторов мобильной связи. Например, я клиент AT & T. Чтобы отправить себе текстовое сообщение без телефона, я мог бы открыть gmail и отправить электронное письмо по адресу: Я получил бы текстовое сообщение так же, как и любое другое сообщение.
Применение этого к PHP достаточно просто с точки зрения реального кода. Функция mail отлично справится с задачей. Если у вас есть свой номер под рукой и вы знаете оператора связи, которым пользуетесь этот номер, вы можете найти оператора сотовой связи здесь. Чтобы отправить сообщение себе, это было так же просто, как:
$ number = "999-999-9999"; $ carrier = "@ txt.att.net"; $ message = "Это текст"; $ sent = mail ("$ carrier", "Test", $ message); echo $ отправлено? «Почта отправлена»: «Почта НЕ отправлена»; // почта (адрес электронной почты, тема, тело); // тема не обязательна и может быть оставлена пустой при желании
Это может создать дилеммы однако. Требуется, чтобы вы знали как номер, так и оператора сотовой связи. Благодаря переносимости номеров оператор сотовой связи может измениться, и если пользователь не уведомит вас об этой информации, у вас не будет возможности узнать, что его оператор изменился. Этот вариант просто не был осуществим для нас, так как нам нужно было, чтобы он работал безупречно, независимо от того, сменили ли они перевозчиков или что-то в этом роде. Если бы у нас был номер, это вся информация, которая нам нужна. Попросить пользователя сохранить больше информации, чем та, которая была актуальной, требовало слишком много.
Я мог бы видеть, что это был бы полезный способ отправлять текстовые сообщения, если я просто хотел создать какой-то сервис уведомлений для себя. то есть, если один из моих ежедневных скриптов cron терпел неудачу, что-то в этом роде. Это не масштабируемое надежное решение для любого вида решения, большего, чем несколько пользователей.
Платный вариант - SMS-шлюзы
Существует множество SMS-шлюзов с различными ценовыми точками и API. SMS-шлюзы не являются бесплатными, но они обеспечивают более безопасный и надежный способ выполнения работы. Я вспомнил, как проводил какое-то исследование на эту тему около года назад, и название Twilio застряло. Они - то, кем я закончил использовать, и быстрый и легкий учебник ниже. Они стоят 1 цент за текстовое сообщение, не самое дешевое, но очень разумное для того, что мы пытались достичь.
Как отправить текстовое сообщение с помощью Twilio
Сначала вам понадобится аккаунт с ними, поэтому зарегистрируйтесь. Вам будет предоставлен идентификатор пользователя и токен аутентификации, которые вы можете подключить к соответствующим переменным ниже. Затем загрузите официальную библиотеку PHP Twilio здесь.
// включить официальную библиотеку PHP Twilio include 'Services / Twilio.php'; $ accountid = "#######"; $ token = "#######"; // объявляем новый экземпляр класса сервисов twilio $ client = new Services_Twilio ($ AccountSid, $ AuthToken); $ mynumber = "##########"; $ to = "##########"; $ body = "это текстовое сообщение"; $ client-> account-> sms_messages-> create ($ from, $ to, $ body); // вуаля! сообщение отправлено
Для любого масштаба я бы порекомендовал использовать такие шлюзы, как Twilio. Вам не нужно беспокоиться о том, чтобы отслеживать перевозчика, и, по моему опыту, они были чрезвычайно надежными. Любые отзывы или предложения, дайте мне знать в комментариях ниже.