Как отправить SMS сообщение с сайта

Author Автор: Роман Чернышов    Опубликовано: 31 декабря 2017

Отправить СМС с сайтаПривет уважаемые читатели моего блога, сегодня я хочу рассказать немного про СМС сервисы, или про то как отправить СМС сообщение с сайта. Сегодня, привязка мобильного телефона(номера) к сайту, столь же актуальна как и привязка емаил. Некоторые крупные порталы и социальные сети, почти полностью перешли на регистрацию пользователей и их дальнейшую авторизацию на сайте, по средствам номера мобильного телефона, используя его в качестве логина, а СМС с кодом в качестве ключа доступа.

Для того, чтобы отправить СМС сообщение с сайта, необходимо зарегистрироваться на сайте СМС-шлюза(ниже рассмотрим несколько из них) — это сервис предоставляющий возможность автоматически отправить СМС сообщение любому количеству пользователей вашего сайта. После регистрации и пополнения баланса, все что вам нужно это передать сервису команду(с помощью REST API, HTTP запроса или SMTP) на отправку сообщения абоненту, указав при этом номер мобильного телефона и текст сообщения.

Где это может пригодиться

  1. Регистрация на сайте с подтверждением номера телефона, последующая авторизация по СМС коду доступа, а также восстановление доступа в случае утраты пароля;
  2. Двухфакторная авторизация на сайте, повышающая степень защищенности аккаунта пользователя, от возможного взлома;
  3. Подтверждение по СМС тех или иных действий производимых пользователем на сайте. Например перевод денежных средств со своего кошелька на сайте, на кошелек другого пользователя;
  4. Получение важных уведомлений, новостей;
  5. Подтверждение по СМС также позволяет отсеять на этапе регистрации: ботов, фейков, спамеров, клонов и т.д., или во всяком случае сделает для них процесс регистрации нового аккаунта несколько более затруднительным, нежели чем с простым указанием емаил адреса.

Краткий обзор СМС сервисов

Я в своих проектах использую следующие СМС сервисы: sms.ru, websms.rusmsaero.rusmsbliss.ru, у каждого из них есть свои преимущества и недостатки. Основные критерии по которым я буду сравнивать эти четыре сервиса, это стоимость одного СМС сообщения по России, сложность подключения к системе(юридические аспекты), сложность подключения с технической точки зрения(интеграция на сайт), количество способов отправки сообщения, дополнительные инструменты, качество работы службы поддержки.

СервисЦена 1 СМСДоговорИнтеграция на сайтОтправка сообщенияИнструментыПоддержка
sms.ruот 1.50 р.ДаЛегко
Хорошая документация
Примеры
Модули
SMTP
HTTP
Viber
интеграция с CRM
Стоп-листы
автоматика
API
партнерская программа
5 баллов
websms.ruот 0.90 р.ДаЛегко
Хорошая документация
Примеры
Модули
SMTP
SOAP
HTTP
XML
интегр. 1C
Web-интерфейс
расписание
виджет
смс-подписка
модераторы
партнерская программа
4 балла
smsaero.ruот 1.30 р.Да/НетСредне
Документация
Модули
HTTP
SMPP
Viber рассылка
HLR-запросы
Сбор контактов
4 балла
smsbliss.ruот 1.30 р.Да/НетСредне
Документация
HTTP
(REST, JSON)
SMTP
Входящие SMS
партнерская программа
5 баллов

Касаемо стоимости СМС сообщений надо отметить, что чем больше сообщений вы отправляете или покупаете пакет сообщений большего размера, тем меньше стоимость одного СМС. У всех сервисов есть гибкая система скидок. В сводной таблице я сравниваю цены из расчета отправки одного СМС, без учета возможного дисконта. Также у некоторых операторов предусмотрена оправка дешевых СМС но с некоторыми ограничениями,  такие варианты отправки я также не рассматриваю.

Примеры отправки на PHP

И так, вы зарегистрировались на подходящем для вас СМС сервисе, пополнили баланс и заключили договор. Теперь можно отправить сообщение из PHP скрипта, одним из следующих способов:

sms.ru HTTP запрос

<?php
$url = 'http://sms.ru/sms/send?api_id=YOU_LOGIN&to=+74955555555&text=Текст_сообщения&from=Имя_Отправителя';
$result = file_get_contents($url);
?>

websms.ru SMTP

<?php
$message = "user=YOU_LOGIN \r\n pass=YOU_PASS \r\n fromPhone=Имя_Отправителя \r\n tels=+74955555555 \r\n mess=Текст сообщения \r\n";
mail("post@websms.ru", "", $message, "From: from_email@example.com");
?>

smsaero.ru HTTP запрос

<?php
$url = 'https://gate.smsaero.ru/send/?user=YOU_LOGIN&password=YOU_PASS&to=+74955555555&text=Текст_сообщения&from=Имя_Отправителя';
$result = file_get_contents($url);
?>

smsbliss.ru SMTP

<?php
$message = "Текст сообщения \r\n YOU_LOGIN: Test \r\n password: YOU_PASS \r\n sender: Имя_Отправителя";
mail("74955555555@gate.smsbliss.ru", "", $message, "From: from_email@example.com");
?>

Обозначения в приведенных примерах:
74955555555 — номер телефона абонента, которому следует отправить СМС сообщение;
YOU_LOGIN — ваш логин на сайте сервиса или ключ API;
YOU_PASS — ваш пароль на сайте сервиса;
Имя_Отправителя — имя отправителя состоящее из 11 символом латинского алфавита или цифр, которое абонент увидит в качестве отправителя;
Текст сообщения — 70 кириллических или 160 латинских символом СМС сообщения (можно и больше, но тогда сервис засчетает сообщение как за 2 и более).

Обращайтесь за помощью!

Если требуется помощь в подключении СМС сервиса к вашему сайту, то буду рад с вами поработать! На что вы можете рассчитывать?

  1. Разработка эксклюзивного функционала для вашего сайта;
  2. Реализация ваших идей;
  3. Интеграция готовых модулей;
  4. Настройка СМС сервиса;
  5. Поддержка.

Оставить комментарий

Автор блога
Роман Чернышов
Веб-разработчик,
Full Stack
Senior, Architect
PHP, JavaScript, Node.JS, Python, HTML 5, CSS 3, MySQL, Bash, Linux Admin
Заказать работу
предложить оффер

Моя книга
Книга. Веб-разработчик. Легкий вход в профессию
Печатная книга
Веб-разработчик.
Легкий вход в профессию
Купить за 159₽
Последние вопросы
Список вопросов
Последние комментарии
Меню

Archive

Мои проекты
Insurance CMS Love Crm CMS Совместные покупки Мой PHP Framework Хостинг для моих клиентов Лицензии на мой софт и поддержка