1

Увидел тут у занкомого програмину на виндовом компе, он в неё забил номер абонента и текст смс, нажал "отправить", смс ушло. И дошло! отправлял мне  smile
А к его компу небыло подключено никакого мобильника. Только Интернет.
Решил озадачится этим делом и прикрутить себе на сервер похожую тузлу. Потому как емайл то отправляется, но я не всегда перед компом, что бы прочесть, а мобильник всегда со мной, и если что то с сервером ни так, он мне сигнализирует.
Вообщем спрашивал у дяди Гугла, и он мне выдал кучу интересных ответов, но большинство из них требуют подключения маломальски но мобильника к серваку.
Те же которые могут работать без мобилы уже давно не поддерживаются.
Что по этому поводу думает сообщество? может у кого есть что то на примете? Главное что бы с консоли (графики нету на серваке) и без мобилы, так как я не смогу объяснить шефу, а тем более бухгалтерии, нафига в серверной сотовый.  oO

Истина ускользает от тех кто отказывается её видеть обоими глазами.
Талантам нужно помогать, бездарности пробьются сами.
В Туле настолько суровые парни, что вместо пены для бритья, используют пену монтажную.
cat /broken/hands > /dev/null

2

майл агент может отправлять

Рок Жив

3 (02.02.2011 23:36:32 отредактировано odin)

к примеру вот
а по большому счету никто не мешает писать AT команды прямо в устройство...

4 (03.02.2011 05:02:55 отредактировано bobr)

odin пишет:

к примеру вот
а по большому счету никто не мешает писать AT команды прямо в устройство...

Ды нет же, это как раз не без мобильника.
Не сочтите за рекламу уж, но сам пользуюсь Вот
Там довольно много всяких способов отправки. Можно, например, мылом отправлять. И при должной прямоте рук не составит труда написать скрипт, юзающий, скажем, sendmail.

Йа тьомный эльф

5

Vadimsky пишет:

Решил озадачится этим делом и прикрутить себе на сервер похожую тузлу.

всё очень просто: отправляете мыло в консоли (умеете? man mail вам в помощь) на специальный адрес, который выделил ОпСоС. Этот адрес называется "маилгейт", и для каждого опсоса свой (мало того, мегафон-питер отличается от мегафон-москва). Некоторые опсосы (например теле2-питер) вообще не имеют маилгейта, и отправить туда смс невозможно (только через веб-форму, а она с капчей).

Карусель разнесло по цепочке за час
Всех известий — конец
Да, весна началась!
(всё к лицу подлецу, как родному отцу, не рассказывай, батя, и так всё пройдёт)

6

bobr пишет:

написать скрипт, юзающий, скажем, sendmail.

:O
это не из пушки по воробьям, а уничтожение тараканов водородной бомбой  :lol:
там весь "скрипт":

 Консоль:
echo "test" | mail -s'Subj' user@example.org

Карусель разнесло по цепочке за час
Всех известий — конец
Да, весна началась!
(всё к лицу подлецу, как родному отцу, не рассказывай, батя, и так всё пройдёт)

7 (03.02.2011 11:16:48 отредактировано vilSK)

Гугл выдал это >> http://forum.novgorod.ru/showthread.php?t=63677

upd:
и еще вот >> http://forum.ixbt.com/topic.cgi?id=69:155

8

drBatty пишет:

это не из пушки по воробьям, а уничтожение тараканов водородной бомбой  laugh

ag

Йа тьомный эльф

9 (04.02.2011 22:07:59 отредактировано Vadimsky)

Leviafan пишет:

майл агент может отправлять

Не пйдёт. Нету графики на сервере, и нету человека, что бы вбивал в агент тексты. Нужно что бы брало из файла, с консоли вообщем.
odin Читал это, но gnokii и ей подобные не катят, так как без мобильника нужно.

drBatty пишет:

отправляете мыло в консоли (умеете? man mail вам в помощь

ВРоде не жаловался, говорю же что на данный момент майлы с сервера о событиях приходят. Если есть возможность и смс так организовать, то было бы здорово. Просо добавить ещё 1 адрес получателя и всё. Только вот вопрос как найти такой гейт? У меня как раз Теле2, правда тульский. На их сайте ничего про это нету, в техподдержке девочки не знают, а с матёрыми спецами не соединяют так как у меня не существенный вопрос...
ac
А вот на чём организована отправка смс у websms.ru? Они же наверняка не руками со своих мобильников шлют!
vilSK по первой ссылке скачал тарбол, щас разбирать буду, а на форуме все ссылки бытые уже.
А сам я вот что сегодня нашёл: http://www.linux.org.ru/forum/talks/4890455
Похоже на то, что мне нужно, только вот рабочая неделя кончилась...  ag
В любом случае спасибо всем откликнувшимся, я ещё отпишусь о результатах, может ещё кому пригодится.

Истина ускользает от тех кто отказывается её видеть обоими глазами.
Талантам нужно помогать, бездарности пробьются сами.
В Туле настолько суровые парни, что вместо пены для бритья, используют пену монтажную.
cat /broken/hands > /dev/null

10

Vadimsky пишет:

то было бы здорово. Просо добавить ещё 1 адрес получателя и всё. Только вот вопрос как найти такой гейт? У меня как раз Теле2, правда тульский. На их сайте ничего про это нету, в техподдержке девочки не знают, а с матёрыми спецами не соединяют так как у меня не существенный вопрос...

упомянутый "койот" у вас работает?
а адреса можно нагуглить...

Vadimsky пишет:

А вот на чём организована отправка смс у websms.ru?

вообще-то ещё существуют платные службы доставки СМС.

Карусель разнесло по цепочке за час
Всех известий — конец
Да, весна началась!
(всё к лицу подлецу, как родному отцу, не рассказывай, батя, и так всё пройдёт)

11

Кайот у меня работает. Но моей домашней машине. Но он графический. На серваке графики нету, поэтому его отложил в сторонку до лучших времён.
Платные службы туда же.
Сейчас вот бъюсь с гуловским календарём. Всё предельно просто и смс-ки отправляются. Но только пока с календаря гугла  wink
С машины не уходят исчо. На гугле выложен скрипт как отправлять с машины на календарь, но как оказалось, этому скрипту нужны дополнительные модули, кои приходится самому искать и самому ставить. Вот сижу ищу.
Если всё прокатит, то выложу мануал пошаговый.

Истина ускользает от тех кто отказывается её видеть обоими глазами.
Талантам нужно помогать, бездарности пробьются сами.
В Туле настолько суровые парни, что вместо пены для бритья, используют пену монтажную.
cat /broken/hands > /dev/null

12

Vadimsky пишет:

На гугле выложен скрипт как отправлять с машины на календарь, но как оказалось, этому скрипту нужны дополнительные модули, кои приходится самому искать и самому ставить. Вот сижу ищу.

а почему нельзя в гугло-календарь отправлять по гугло-почте уведомления, которые вызовут отправку СМС?

Карусель разнесло по цепочке за час
Всех известий — конец
Да, весна началась!
(всё к лицу подлецу, как родному отцу, не рассказывай, батя, и так всё пройдёт)

13

Ну этого я не знаю. Видимо в гуле ребята тоже не дураки сидят bx
А так это первое что я попробовал.

Истина ускользает от тех кто отказывается её видеть обоими глазами.
Талантам нужно помогать, бездарности пробьются сами.
В Туле настолько суровые парни, что вместо пены для бритья, используют пену монтажную.
cat /broken/hands > /dev/null

14

Vadimsky пишет:

А так это первое что я попробовал.

дык ПОЧЕМУ? (у меня экран разбился, мне мобилу там не зарегить, код не прочитать...)

Карусель разнесло по цепочке за час
Всех известий — конец
Да, весна началась!
(всё к лицу подлецу, как родному отцу, не рассказывай, батя, и так всё пройдёт)

15 (07.02.2011 16:58:54 отредактировано townsman)

Vadimsky пишет:

Главное что бы с консоли (графики нету на серваке) и без мобилы, так как я не смогу объяснить шефу, а тем более бухгалтерии, нафига в серверной сотовый.  oO

Будь здоров - не кашляй! ab

+ открыть спойлер

 Консоль:

#!/usr/bin/env python
# coding=utf-8
'''
sms_mrim_client.py
author: townsman
site: http://lug.ru/node/430/
http://agent.mail.ru/ru/help/3/2.html - поддерживаемые операторы
re-author
'''
import socket, string, sys
from struct import *
'''
Конфигурационные данные
'''
LOGIN    = '' # e-mail
PASSWORD = '' # пароль
NUMBER   = '' # номер телефона
TEXT         = "" # текст сообщения
'''
The End of config
'''
PROTO_VERSION               = 0x10008    # версия протокола
CS_MAGIC                            = 0xDEADBEEF # тип магическая CENSORED (начало заголовка пакета)
MRIM_CS_HELLO                   = 0x1001     # приветсвуем сервер
MRIM_CS_HELLO_ACK       = 0x1002     # получаем ответный привет
MRIM_CS_LOGIN2          = 0x1038     # пытаемся залогиниться
MRIM_CS_LOGIN_ACK     = 0x1004     # ответ в случае успешной авторизации
MRIM_CS_SMS                     = 0x1039         # шлём СМСку
MRIM_CS_SMS_ACK             = 0x33A          # читаем статус СМСки
MRIM_CS_STATUS_ONLINE = 0x00000001 # логинимся со статусом On-line

# получаем адрес куда будет конектиться
def get_host_port():
    s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
    s.connect(('mrim.mail.ru', 2042))
    s.send("GET / HTTP 1.1\r\n\r\n")
    data = s.recv(128)
    s.close()
    return data
# ф-ция по созданию пакета приветствия
def packet_make(msg, seq=1, mydata=''):
    formt = '<5L'
    dlen = len(mydata)
    my_header = pack(formt, CS_MAGIC, PROTO_VERSION, seq, msg, dlen) + pack('<L', 0)*6
    return my_header
   
# ф-ция авторизации
def mrim_login(login=LOGIN, password=PASSWORD, client='pymra 0.1beta'):
    formt = '<5L'
    mydata = pack('<L', len(login)) + login + pack('<L', len(password)) + password + pack('<L', MRIM_CS_STATUS_ONLINE) + pack('<L', len(client)) + client + pack('<L', 0)*5
    dlen = len(mydata)
    my_header_login = pack(formt, CS_MAGIC, PROTO_VERSION, 2, MRIM_CS_LOGIN2, dlen) + pack('<L', 0)*6 + mydata
    return my_header_login

# ф-ция отправки SMS   
def sms_send(number=NUMBER, text=TEXT):
    formt = '<5L'
    mydata = pack('<L', 0) + pack('<L', len(number)) + number + pack('<L', len(text)) + text
    dlen = len(mydata)
    my_header_sms = pack(formt, CS_MAGIC, PROTO_VERSION, 3, MRIM_CS_SMS, dlen) + pack('<L', 0)*6 + mydata
    return my_header_sms

def main():   
    host_port = get_host_port().split(':')
    my_header = packet_make(MRIM_CS_HELLO, 1)
    my_header_login = mrim_login()
    my_header_sms = sms_send()
    s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
    s.connect((host_port[0], int(host_port[1])))   
    s.send(my_header)
    data = s.recv(48)
    resp = unpack('12L', data)
    if resp[3] == MRIM_CS_HELLO_ACK:
        print "[+] Подключились!"
    else:
        print "[!] Не подключились!"
        sys.exit(0)
    s.send(my_header_login)
    data_l = s.recv(48)
    resp_l = unpack('12L', data_l)
    if resp_l[3] == MRIM_CS_LOGIN_ACK:
        print "[+] Залогинились!"
    else:
        print "[!] Проверьте логин и пароль!"
        sys.exit(0)
    s.send(my_header_sms)
    data_s = s.recv(48)
    resp_s = unpack('12L', data_s)
    if resp_s[3] == MRIM_CS_SMS_ACK:
        print "[+] SMS отправили!"
    else:
        print "[!] SMS не отправили ac"
        sys.exit(0)
    s.close()
   
if __name__ == "__main__":
    main()

I like a leaf in the wind - See how I sing.

16

townsman Спасибо, друг!
Завтра на работе обязательно опробую!
блин, аж на работу захотелось!!!!!

Истина ускользает от тех кто отказывается её видеть обоими глазами.
Талантам нужно помогать, бездарности пробьются сами.
В Туле настолько суровые парни, что вместо пены для бритья, используют пену монтажную.
cat /broken/hands > /dev/null

17 (08.02.2011 15:16:46 отредактировано vilSK)

Vadimsky пишет:

Сейчас вот бъюсь с гуловским календарём. Всё предельно просто и смс-ки отправляются. Но только пока с календаря гугла  wink
С машины не уходят исчо. На гугле выложен скрипт как отправлять с машины на календарь, но как оказалось, этому скрипту нужны дополнительные модули, кои приходится самому искать и самому ставить. Вот сижу ищу.
Если всё прокатит, то выложу мануал пошаговый.

Вот наткнулся на статью в журнале "Системный администратор" №10 за 2010 год (есть в раздачах LinuxTorrent.ru) под названием "GoogleCL Доступ к сервисам из командной строки"...

18 (08.02.2011 18:46:51 отредактировано townsman)

Vadimsky пишет:

Вот наткнулся на статью в журнале "Системный администратор" №10 за 2010 год (есть в раздачах LinuxTorrent.ru) под названием "GoogleCL Доступ к сервисам из командной строки"...

Не корректно, то ли Vadimsky предполагает что здесь собрались одни воришки, то ли он хвастается что он сам воришка

I like a leaf in the wind - See how I sing.

19

Что то не заработал у меня код любезно предоставленный townsman.

[+] Подключились!
Traceback (most recent call last):
  File "/home/aramis/sms", line 97, in <module>
    main()
  File "/home/aramis/sms", line 80, in main
    resp_l = unpack('12L', 'data_l')
struct.error: unpack requires a string argument of length 48

Вот что получилось из запуска, может я чего то не то делаю? Подскажите пожалуйста.

20

townsman
Спасибо за скрипт! Реально работает! Правда по рускии если писать то шлёт ересь, но не беда, мне что бы понять что с серваком и английского хватит.
Вот на счёт воришек не понял. Вы же сами скрипт привели. И потм я вовсе не надеялся что здесь собрадись воришки. Я надеялся что есть способ отправки из командной строки линукса, так как из винды есть бесплатная отправка смс, в своем первом посте я всё описал.
Кстати, вы не правильно меня процитировали в своём 18- посте. Та цитата, на которую вы ссылаетесь, была сказана не мной.
Да и вообще какая разница кем она была сказана?
У Гула тоже есть бесплатная отправка смс.
И тоже работает. Сам проверял. Хотел было сделать мануал по этой теме, но тут: http://www.linux.org.ru/forum/talks/4890455 всё подробно описано.
Единственное что могу добавить, то отсюда http://labix.org/python-dateutil нужно скачать dateutil (так как gcalcli календарь от гугла) его требует.
Затем распаковать, войти в получившуюся папку и дать команды от рута:

 Консоль:

make
./setup.py
./test.py

Если после последней команды побежади точки в строке, то всё собралось и поставилось, можно отправлять смс используя gcalcli
Ну gcalcli нужно соответсвенно настроить.
Тестировалось под Fedora 14, на других системах не пробовал. Если у кого заработает, или не заработает - пишите, думаю совместно доведём идею до логического совершенства!

Истина ускользает от тех кто отказывается её видеть обоими глазами.
Талантам нужно помогать, бездарности пробьются сами.
В Туле настолько суровые парни, что вместо пены для бритья, используют пену монтажную.
cat /broken/hands > /dev/null

21

Vadimsky подскажите пожалуйста в чем может быть ошибка в моем предыдущем сообщении? У вас скрипт заработал со старта, или вы что то меняли? (ну кроме логина пароля и текста естественно)
У меня вывод из консоли неизменно твердит следующее:

 Консоль:
aramis@aramis:~$ /home/aramis/sms
[+] Подключились!
Traceback (most recent call last):
  File "/home/aramis/sms", line 97, in <module>
    main()
  File "/home/aramis/sms", line 80, in main
    resp_l = unpack('12L', 'data_l')
struct.error: unpack requires a string argument of length 48

В скриптах к сожалению я не силен, поэтому немогу определить что поменять надо чтобы это счастье заработало.  ac

22

Я изменил только лоигн и пароль.
Ну и запускал из /bin, так как на /home у меня в /etc/fstab стоит ключ noexec.
Единственное, он написал, что смс не отправлено, хотя оно дошло!

 Консоль:

bash-4.1$ sms.sh
[+] Подключились!
[+] Залогинились!
[!] SMS не отправили sad
bash-4.1$

Истина ускользает от тех кто отказывается её видеть обоими глазами.
Талантам нужно помогать, бездарности пробьются сами.
В Туле настолько суровые парни, что вместо пены для бритья, используют пену монтажную.
cat /broken/hands > /dev/null

23

А у меня не дошло =(. Вывод аналогичный.

zloys86, вы главное скопируйте скрипт в точности как он приведен. Просто это язык python, а в нем отступы играют большое значение.

24

Заново скопировал код, ошибка ушла. Однако результат получился такой же как и у elve, "Сообщение не отправлено" на телефон ничего не дошло. Думаю причина может скрываться также в месторасположении абонента, хотя на mail.ru написано что МТС Украина катит. Видимо надо пробовать обкатывать с google календарем решение.  Пробовал уже кто нибудь кататься по тем линкам которые давал Vadimsky? И если да, то каков результат?

25

Тоже не приходит СМС.. ((( Номер вводил и с + и без. Отправлял на ТЕЛЕ2

MX 23.6 Libretto x86_64
Чем больше я работаю админом, тем больше понимаю, насколько волшебна фраза - "Нет технической возможности!"

26

У меня номер записан в фомате +7953.....
Доходят.

Истина ускользает от тех кто отказывается её видеть обоими глазами.
Талантам нужно помогать, бездарности пробьются сами.
В Туле настолько суровые парни, что вместо пены для бритья, используют пену монтажную.
cat /broken/hands > /dev/null

27

Странно. Начал отправлять, но не с первого раза. Приходится по несколько раз его просить ))) Хотелось бы, что нибудь по стабильнее )) Хотя пока и этого хватит.

MX 23.6 Libretto x86_64
Чем больше я работаю админом, тем больше понимаю, насколько волшебна фраза - "Нет технической возможности!"

28

Господа! Тов. townsman спизукрал скрипт отсюда: http://k0derz.ru/python-mra-mail-ru-agent-sms/
Соотв. все вопросы и предложения можно писать там в комментариях. ab

"Если вы уже пытались поработать с Linux, но нашли ее слишком запутанной и непонятной — расслабьтесь. Если вы умеете вскипятить чайник или завести будильник, то вы уже можете стать пользователем Linux (кроме шуток!)." ©

29

Remedy
Он же его не продает? ab

30 (19.02.2011 19:22:43 отредактировано Vadimsky)

Что значит украл?
Что то там никаких копирайтов я не нашёл. Скрипт лежит открытым текстом.
Я так каждый релиз ворую образ Fedora и CentOS  ag

Истина ускользает от тех кто отказывается её видеть обоими глазами.
Талантам нужно помогать, бездарности пробьются сами.
В Туле настолько суровые парни, что вместо пены для бритья, используют пену монтажную.
cat /broken/hands > /dev/null