smssend — Утилита отправки SMS сообщений из командной строки.

Linux для всех
smssend — Утилита отправки SMS сообщений из командной строки. Использует API сервиса sms.ru
Написана на Python. Работает, наверно, тоже везде, где он есть.
Автор Denis Saymon21 Khabarov
Email saymon@hub21.ru
Лицензия GNU GPLv3
Текущая версия: 0.3
Репозиторий: opensource.hub21.ru/smssend
Ещё один репозиторий на GitHub (Создан по запросу администрации sms.ru. Переодически шлю коммиты и туда) github.com/saymon21root/smssend

Аргументы:

--help Показывает справку по использованию.
--api-id Устанавливает API-ID. Посмотреть его можно в разделе «Программистам» авторизировавшись на сервисе sms.ru
--to Номер, куда отправлять SMS сообщение. Например 79050000000
--message Не читать стандартный поток ввода. Вместо этого будет отправлено сообщение, которое указано в данном аргументе.
--from Имя отправителя. Должно быть согласовано с администрацией сервиса sms.ru
--time Время отправки сообщения в UNIX-TIME.
--http_timeout Таймаут соединения с sms.ru
--translit Перевод сообщения в транслит
--debug Отладка

Возвращаемые коды:

0 Сообщение отправлено успешно.
1 Сервис вернул ошибку
2 HTTP ошибка
3 Ошибка при использовании утилиты

API-ID может быть прочитан из файлов:
Linux: $HOME/.smssendrc
Windows: %USERPROFILE%/.smssendrc
При использовании .smssendrc в Linux рекомендуется выполнить
chmod 600 ~/.smssendrc


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

echo "Hello world" | smssend --api-id=youapiid --to=target_phone_number


Номер указываем например так: 79050000000
В течении пары минут должно придти вам sms сообщение.
Далее можем так-же использовать этот скрипт для отправки уведомлений из своих скриптов, nagios, munin etc.

Скачать бесплатно и без sms:
Сборка с утилитой для win32 cloud-storage.hub21.ru/public.php?service=files&file=%2Fsaymon%2Ffiles%2Fsmssend-0.3-win32-bin.7z
Зеркало для скачивания билда opensource.hub21.ru/smssend/downloads/smssend-0.3-win32-bin.7z
Или в репозитории.

See also:
10 комментариев
Zayac
Пытаюсь воспользоваться вашим скриптом, вываливается вот такая беда

$ echo "тестовое сообщение" | ./smssend --api-id="blablabla" --to=79999999999
usage: smssend [-h] [--api_id API_ID] [--to TO] [--http_timeout HTTP_TIMEOUT]
               [--debug]
smssend: error: unrecognized arguments: --api-id=blablabla
saymon
Будьте пожалуйста внимательней. --api_id=
вместо --api-id=
dimmer
Подскажите, как вставить значение переменной в --message?
saymon
smssend --message='Текст сообщения'
alozovskoy
Еще пользующим этот скрипт следует почитать про sms.ru/?panel=partners, потому что в скипте смс передается с partner_id автора скрипта, а значит ему идет процент с ваших смс.
andan
А как использовать этот скрипт из другого питоновского скрипта?
saymon
А в чём проблемы? os.system, os.popen, subprocess есть же.
andan
К сожалению я только начинаю изучать питон, поэтому кроме import еще мало чего знаю, был бы рад за маленький пример :)
saymon
from os import system
from sys import argv
def main():
  system('smssend --to='+argv[1]+' --message=\''+argv[2]+'\'')

if __name__ == '__main__':
  main()


Ну и примерно так использовать:
python ./test.py phonenumber 'test message'
andan
Спасибо. Получилось. Делаю прям из самого скрипта в процессе выполнения:
from os import system
from sys import argv
system('smssend.py --api-id="ваш ид в кавычках" --to="номер" --from="от кого (не обязательно)" --message="собственно текст смс"')


По другому не работало.
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.