Отправляем SMS-сообщение на телефон с помощью R

Моя цель - предложение широкого ассортимента товаров и услуг на постоянно высоком качестве обслуживания по самым выгодным ценам.

В 2013 году я отправлял себе прогноз погоды в sms-сообщении на телефон, используя для этого скрипт на R, API одного из онлайн-сервисов погоды, утилиту sendEmail и включенную услугу "e-mail to SMS". В 2022 году оказалось, что способ отправки SMS на телефон до сих пор работает (далее пример для оператора МТС Урал).

SMS должно быть БЕСПЛАТНО. По крайней мере, в биллинге оператора мы видим 0 р.:

Перед отправкой сообщения с E-mail на SMS убедитесь, пожалуйста, что у вас открыта услуга "Прием SMS с E-mail". По умолчанию, у всех абонентов МТС закрыта возможность получения сообщений с электронной почты во избежание рассылок спама. Уточните, как открыть данную услугу у своего оператора связи.

Для работы функции необходимо предварительно установить утилиту sendEmail (см. инструкцию, качаете архив, а exe-файл копируете в рабочую директорию с R-скриптом). Также мы будем использовать гугл-почту, с предварительно созданным новым паролем для приложения (см. справку гугл-почты как создавать и использовать пароли приложений):

Для работы функции также необходимо знать email2sms шлюз оператора. У меня MTS Урал, поэтому шлюз такой: sms.ural.mts.ru (шлюзы различны для регионов и операторов). В интернете удалось найти некоторые email2sms шлюзы операторов, работоспособность которых не проверялась:
Билайн sms.beemail.ru
Мотив sms.ycc.ru
MTC sms.mtslife.ru
Мегафон sms.megafonsib.ru

Функция на R для отправки sms-сообщения (gist):

gmail.send <- function(username, password, emailto, sub, msg)
{
  frommailuser <- paste(username,"@gmail.com", sep='')
  com1 <- paste("sendEmail -f", frommailuser, "-t", emailto, "-o message-charset=utf-8 -u")
  com2 <- "-m "
  com3 <- paste("-o message-format=text -s smtp.gmail.com -o tls=yes -xu", username, "-xp", password)
  system(paste(com1, sub, com2, msg, com3))
}

Аргументы функции:

username — имя пользователя от вашей почты на gmail.com

password — пароль приложения для почты на gmail.com (см. выше), это 16 символов вида: affdjtihminycjzl

emailto — e-mail получателя. например, username@mail.ru или используя email2sms шлюз оператора 79ХХХХХХХХХ@sms.ural.mts.ru, где 79ХХХХХХХХХ – ваш номер телефона, на который будем отправлять СМСку.

sub — тема сообщения

msg — текст сообщения (не более 320 символов)

Пример использования:

gmail.send(username, password = pass, emailto = telnumbers,
sub = "Сообщение из R:",
msg = "Привет, Хабр!"
)

Видим сообщение от утилиты sendEmail, что сообщение успешно отправилось: Apr 04 21:48:05 desktop-qjcekiu SENDEM~1.EXE[9992]: Email was sent successfully!. В папке "Отправленные" вашего почтового ящика будет отправленное сообщение, а на телефоне мы получаем с номера 0883 СМС вида:

Не используйте для спама. Заблокируют

Источник: https://habr.com/ru/post/659055/


Интересные статьи

Интересные статьи

Привет, друзья! В этой статье я хочу рассказать вам о Temporal, новом API для работы с датой и временем в JS. Описание предложения Черновик спецификации Рецепты по использованию Temporal ...
Вторая часть истории про слияние репозиториев. Суть проблемы вкратце такова: надо слить репозиторий с подрепозиторием с сохранением истории. Решение на gitpython работал...
История сегодня пойдёт про автосервис в Москве и его продвижении в течении 8 месяцев. Первое знакомство было ещё пару лет назад при странных обстоятельствах. Пришёл автосервис за заявками,...
Доброго времени суток, Хабровчане! Хочу рассказать о том, как я недавно узнал о неких "хуках" в React. Появились они относительно недавно, в версии [16.8.0] от 6 февраля 2019 года (что по скор...
В настоящее время чуть ли не каждый месяц выходит какой-то смартфон в котором очередной вендор обязательно вносит «революционные» изменения, начиная от внешнего вида (материал, цвет, формы, габар...