Отправка SMS на сайте
Иногда необходимо пользователям на сайте отправлять SMS на их мобильные телефоны. Например, это может быть нужно для подтверждения важной операции (например, смена пароля). Или, например, для сообщения важной информации (например, что оплаченный товар пришёл в почтовое отделение). Так же можно делать авторизацию с логином и кодом по SMS, а не обычным паролем. Таким образом, отправлять SMS на сайте приходится относительно часто, и в этой статье я расскажу, как это можно делать.
Сразу скажу, что самый лучший способ - это использовать API стороннего платного сервиса. Первый сервис, который мне попался: http://smsaero.ru. В реальности их очень много, Вы можете их поискать и сравнить цены, плюс посмотреть, как они работают. Например, некоторые сервисы могут вставлять ещё и дополнительную рекламу в каждое SMS.
О том, как разобраться с API и как его использовать, я рассказывал в предудыщей статье: как работать с API.
Так же есть плохой, но зато бесплатный способ. Но тут потребуется узнавать, какой оператор у Вашего посетителя. То есть придётся либо просить его самого указать оператора, либо по коду в телефонном номере пытаться его определить.
После определения оператора можно с помощью того же cURL отправить запрос по данным из формы соответствующего оператора. Например, для Beeline: https://www.beeline.ru/sms/index.wbp. Безусловно, пользователю надо будет ещё подгрузить их капчу, чтобы он смог её ввести.
И подобный механизм надо сделать для всех операторов, которыми пользуются Ваши посетители. Мучительная работа, зато бесплатно. И, более того, частенько придётся править свои скрипты, ведь параметры формы могут быть изменены, и Вы об этом узнаете не сразу. В результате, скрипт станет нерабочим, пока Вы его не исправите.
Я рассказал Вам 2 способа отправки SMS на сайте. Самый правильный - первый вариант, а тем, кто любит мучения, можно попробовать реализовать второй способ.
-
- Михаил Русаков
Комментарии (5):
Здравствуйте Михаил, мне нужно на сайте в админ панели сделать СМС рассылку регистрированным пользователям. Можете посоветовать какой-нибудь хороший сервис для рассылки.Я преподаю английский язык студентам собираюсь проводить несколько онлайн семинар, несколько раз в месяц никак не могу найти скрипт, чтобы установить на сайт можете в добавок и на этот вопросик ответить. Спасибо!
Ответить
Здравствуйте, Саня. Используйте http://sms.ru/. Если у вас есть необходимость в отправке СМС сообщений из консоли или PHP программы, то вы можете воспользоваться следующими командами: HTTP: http://sms.ru/sms/send?api_id=00000-0000-0000-000&to=79255005050&text=hello+world Консоль (необходимо установить curl): curl http://sms.ru/sms/send\?api_id=00000-0000-0000-000\&to=79255005050\&text=hello+world PHP: $body=file_get_contents('http://sms.ru/sms/send?api_id=00000-0000-0000-000&to=7925500505&text='.urlencode(iconv('windows-1251','utf-8','Привет!')));
Ответить
Спасибо Александр! А насчёт проведения семинаров на сайте можете что-нибудь посоветовать
Ответить
Для рассылок посмотрите уже упомянутый SMS Aero: http://smsaero.ru/ У них есть разные возможности для рассылок плюс редактируемая форма подписки, которую можно установить на сайт и собирать контакты посетителей.
Ответить
Здравствуйте. Не получается у меня настроить уведомление по смс. function sendOrder($phone) { $text = "У Вас новый заказ: $phone"; $text = urlencode($text); $result = file_get_contents("https://gate.smsaero.ru/send/[email protected]&password=55239t&to=792072641&text=Zakaz&from=news"); return strpos($result, "accepted") !== false; } Пожалуйста подскажите, что я написал не так?
Ответить
Для добавления комментариев надо войти в систему.
Если Вы ещё не зарегистрированы на сайте, то сначала зарегистрируйтесь.