Иногда может возникнуть необходимость отправлять с сайта SMS. В этой статье пример PHP-кода, и рекомендация SMS-шлюза, которым я пользуюсь с 2011 года.

Для начала про SMSшлюз. Это такой сайт-сервис, который позволяет отправлять SMS, при помощи API. Я пользуюсь этим. Конечно, услуга предоставляется не бесплатно. Стоимость зависит от количества сообщений, которое необходимо отправлять, а также от операторов мобильной связи. На какие-то это обходится дешевле, на какие-то дороже.

Я пользуюсь услугой «для себя», — мне на телефон мгновенно приходит сообщение каждый раз, когда на одном из моих сайтов обнаруживается какая-либо проблема. Случается это не часто. Соответственно количество SMS у меня выходит обычно малое, может штук 5 в месяц. Даже при таких объемах я плачу за каждое сообщение лишь 40 копеек.

Отправка SMS с сайта

Отправка сообщений предусмотрена самыми разными способами. Для программистов есть необходимые библиотеки и примеры под PHP, Perl, Ruby, Python, Java, C# (C sharp, .net framework), Delphi, C++ Builder, Microsoft Visual C++, Microsoft Excel, 1С (версий 7.7, 8.2, 8.3).

Именно для PHP описание можно найти здесь. Берём код файла API, или с той же страницы скачиваем готовый файл. В нём должны быть заданы ваши данные для авторизации в сервисе. Проверьте, чтобы всё было правильно. Все настройки имеют подсказки на русском, разобраться легко.

В своём модуле/плагине и т.д. для отправки SMS вставляем код:

include_once("файл_api.php");
send_sms("+71234567890", $text_sms);

Всё! Ожидали чего-то более сложного?

Здесь номер телефона в полном формате. Также имейте в виду, что длина текста сообщения в переменной $text_sms определяет то, сколько сообщений будет оправлено за один раз. Поместится текст в одно сообщение, значит одно.

Про длину SMS-сообщения можно почитать, например, здесь. Если коротко, то 160 знаков максимум — латинский алфавит и цифры. Сообщение написанное с использованием кириллицы — максимум 70 знаков. Если будете писать по-русски, то не забудьте настроить кодировку. Это делается всё в том же файле API.

В личном кабинете SMS-шлюза можно настроить дополнительные приятные плюшки. Например, возможность отправки SMS лишь с определённых IP-адресов. Также, в моём случае полезно — ограничение получателей SMS номерами телефонов.