можно поподробнее? а то я что-то не нашел такой услуги у МТС
Printable View
есть такое, но работает очень тупо
письмо может прийти а может и нет
может прийти завтра или через час
у билайна адрес 8068XXXXXXX@sms.beeline.ua
у мтс чет типо 8050xxxxxxx@mts.com.ua
Немного с запазданием (почти год прошел), но может актуально кому...
В телефонии есть национальный (national ) и международный (international) планы нумерации.
В конфигах там нет параметра ton?
В национальном плане нумерации ton=0, т.е. + не подставляем к номеру, у нас национальный формат 8910ххххххх, в интернациональном же наоборот, ton=1, т.е. перед номером будет подставляться "+", +7910ххххххх.
За идею, спасибо! Надо будет себе смс-банкинг настроить, у меня бесплатно только е-майл приходит о движении средств.
Еще раз повторюсь. Кто-нибудь организовывал рассылку прогноза погода по этой методе? http://habrahabr.ru/blogs/linux/76867/
Пытаюсь реализовать отсылку СМС через yandex.ru на 38(код)номертелефона@sms.kyivstar.net.
Всё настроено, через терминал из командной строки отправляется
Создал файл в \Router\all\opt\etc\init.d\S99RouterStart, сделал его исполняемым и наполнил содержимым:Code:echo -e "Router is power on " | sendmail 38хххххххххх@sms.kyivstar.net -f yyyyyyy@yandex.ru
Если файл запускаем вручную - СМС отправляется. Но при перегрузке роутера ничего не отправляется.Code:#!/bin/sh
#
# Отправляем СМС на телефон с отчётом, что роутер загрузился
d=`date +'%d/%m/%y - %T'`
sleep 15s
echo -e "Router is power on at ${d}" | sendmail 38хххххххххх@sms.kyivstar.net -f yyyyyyy@yandex.ru
Также добавил в конец \Router\all\usr\local\sbin\post-firewall строчки
И это при перегрузке не отправляется, хотя вручную, с командной строки всё прекрасно уходит.Code:#Отправляем СМС на телефон с полученным IP
sleep 15s
echo -e "New connection established, WAN IP address is $2'" | sendmail 38xxxxxxxxxx@sms.kyivstar.net -f yyyyyyy@yandex.ru
Коллеги, где грабли ?
Что подправить, чтобы всё работало ?
rc.unslung можно перезапустить ручками, посмотреть, что будет
Очистил лог в веб-морде и перегрузил роутер ( с выкл. питания). Вот что получил:(прикрепляю в Log.txt)Attachment 5706
По логу всё отработало.... А СМС нет....
вы сначала отправляете смс, а потом роутер коннектится к isp :D
Code:Dec 13 22:18:53 rc.unslung: start service /opt/etc/init.d/S99RouterStart
Dec 13 22:18:57 dnsmasq[73]: DHCPDISCOVER(br0) 00:26:5e:53:8b:36
Dec 13 22:18:57 dnsmasq[73]: DHCPOFFER(br0) 192.168.68.50 00:26:5e:53:8b:36
Dec 13 22:18:57 dnsmasq[73]: DHCPREQUEST(br0) 192.168.68.50 00:26:5e:53:8b:36
Dec 13 22:18:57 dnsmasq[73]: DHCPACK(br0) 192.168.68.50 00:26:5e:53:8b:36 merlinhp
Dec 13 22:19:00 PPTP: connect to ISP
Dec 13 22:19:17 ntp client: Synchronizing time with ntp.time.in.ua ...
А как правильно прописать в \Router\all\opt\etc\init.d\S99RouterStart и \Router\all\usr\local\sbin\post-firewall отправку СМС только после коннекта к ISP ? Вроди всё делаю, как прописано в данной ветке....
Поставил заделжку 45 сек. (Sleep 45s)
В логе получил:
Как видим, коннект к ISP происходит _после_ того, как истекает время задержки и отрабатывает S99RouterStart.Code:Dec 13 22:59:09 rc.unslung: start service /opt/etc/init.d/S99RouterStart
Dec 13 22:59:47 PPTP: connect to ISP
В \Router\all\usr\local\sbin\post-firewall также перед отсылкой поставил задержку 45 сек. Не отрабатывает.
Коллеги, как же всё-таки сделать правильно отсылку ?
ваш вариант?
http://wl500g.info/showpost.php?p=91632&postcount=1
Бывают ситуации, когда роутер не ребутиться, а коннект с провайдером рвётся/восстанавливается.
Как сделать отсылку СМС при таком восстановлении соединения ?
Желательно, чтобы в СМС приходило нечто такое : "Соединение разорвано ДД.ММ.ГГГ - ЧЧ:ММ и восстановлено ДД.ММ.ГГГ - ЧЧ:ММ".
Такое как можно реализовать ?
Думаю, не так всё просто. Нет пинга - вряд ли мыло отправиться....:)
Нужно анализировать, когда пропал пинг, затем, как только появился, сформировать СМС со временем, когда пинг пропал и временем, когда появился, СМС отправить, и на этом пока успокоиться (до следующего реконнекта). Жаль, линух только-только начал осваивать (даже на второй ноут дома убунту поставил), не осилить мне поэтому такую задачу. Мож, кто поможет? Вещь ведь в хозяйстве нужная... :)
зачем нужная? зачем тебе реалтайм?
а так - просто формируй лог падений и когда линк поднимется - отправляй
Попробовал этот скрипт. Прописал, естественно, свой логин и пароль, запускаю его, в ответ ругается:
и ничего не отсылаетсяCode:PHP Notice: Undefined offset: 27 in /opt/etc/sendsms/send.php on line 105
PHP Notice: Undefined offset: 11 in /opt/etc/sendsms/pro.mrim.proxy.class.php on line 402
PHP Notice: Undefined offset: 10 in /opt/etc/sendsms/pro.mrim.proxy.class.php on line 402
login error
Если в строчке
явно прописываю логин и пароль, отрабатывает без ошибок.Code:$mra->login($login[$login_num],$pass[$login_num]) or die("login error");
Чего оно от меня хочет?
В районе последних чисел декабря отвалился скрипт отправки смс. Как выяснилось, сменился протокол. Был найден новый класс для обмена информацией с сервером. Основные отличия текущей версии от предыдущей:
- для отправки смс используется кодировка UTF-16LE вместо CP1251;
- для хранения данных внутри класса используется UTF-8;
- порядок байт в пакетах, отсылаемых серверу, -- Little Endian.
В исходной версии класса для преобразования кодировок используется iconv, в моей версии класса -- mb_convert_encoding. Ввиду, того, что от CP1251 отказались из файла send.php были убраны функции отвечающие за перекодировку. Теперь все входные данные должны быть в UTF-8.
Источник класса:
http://forum.eugen.su/showthread.php?t=129
Обновленная версия во вложении. Неплохо было, если бы Markiz обновил свой пост-руководство.
Да, не знаю как раньше, но теперь смс, содержащие url, иногда не доходят(похоже на фильтрацию спама). Но критерий фильтрации я так и не понял.
P.S.: Это одна из моих первых проб пера в php, прошу сильно не пинать.
P.P.S.: Как пишут тут, надо обновить php и обновить(поставить) php-mbstring.
Спасибо !!! Работает ! Буду встраивать в новую версию скрипта http://wl500g.info/showthread.php?t=21889
Логины обязательно mail.ru или в поддерживаемых ими доменах (inbox.ru bk.ru и list.ru ) тоже можно использовать ?
rasvad, проверил на bk.ru. Работает. Подозреваю, что с остальными тоже будет работать.
у меня не работает, класс заменил
Как пишут тут, надо обновить php и поставить php-mbstring.
У меня стояла не самая свежая версия php. php-mbstring вроде php утянул автоматом.
Послу установки php-mbstring и впрямь заработало :-) Кстати никто не встречал тут скриптика для забирания почты с сервера типа маил.ру и пересылке её смс-кой?
Я планирую перенести нужное из скрипта с php на python, прикрутить отсылку больших смс (разбивая на части). Собственно, уже почти перенес. Если будет не лень займусь и почтой.
т.е. продублировать функционал исходного класса (Евгения) ? А смысл? А поддержка (ясно ведь, что протокол будет постоянно меняться) ?
(imho) сюда же нужно добавить "дополнение" короткого смс, до максимальной длины. Чтобы убрать дополнительный текст, который вставляет mail.ru
а.... это Вы о чем?
СМС-оповещение перестало работать.
Причем никаких действий с моей стороны не было. В декабре работало - в январе перестало :)
Переустановил пакет (который за СМС отвечает) - проблема не исчезла.
Все аккаунты на майл ру ессн живые
Может с нового года мейлрушники заблокировали отправку смс?
UPD: Последняя версия тут.
Cкрипт теперь на python.
Добавлено:
- отсылка больших смс путем дробления на части и посылки каждой отдельно. Большие смс с русским текстом тоже обрабатываются;
- убран мусор, добавляемый mail.ru в конец сообщения;
- список адресов электронной почты перебирается по кругу, ищутся те, с которого можно послать;
- создана веб-страница для отправки смс с помощью веб-интерфейса (тестировал с lighttpd);
- для ускорения работы скрипта время возможной отправки смс сохраняется в файл;
Установка скрипта: скопируйте содержимое архива sms в какую-нибудь директорию.
Сделайте скрипт send.py исполняемым.
Для установки Python в шелле выполните:Code:chmod +x send.py
Отправка смс таким же образом как и в случае с php:Code:ipkg update
ipkg install python3
Список email-ов задается в файле sender.py.Code:./send.py 7916xxxxxxx message
Если задано мало email-ов, но с них еще можно отправить, скрипт висит в памяти и отправляет каждую минуту. Поэтому лучше задать штук 5 чтобы не было ожидания.
Установка веб-интерфейса (сервер lighttpd): распакуйте содержимое архива webInterface в корень веб сервера (у меня /opt/share/www). В файле sendFromWeb.py задайте переменной sender_path свой путь до директории с файлом send.py.
В файле конфига lighttpd (/opt/etc/lighttpd/lighttpd-ssl.conf - у меня используется ssl. Или /opt/etc/lighttpd/lighttpd.conf если без ssl) необходимо секцию cgi модифицировать следующим образом:
По желанию можно настроить аутентификацию в том же конфиге. Вот пример моейCode:#### CGI module
cgi.assign = ( ".pl" => "/opt/bin/perl",
".py" => "/opt/bin/python3",
".cgi" => "/bin/sh" )
Про аутентификацию подробнее тут.Code:auth.require = ( "/" =>
(
"method" => "digest",
"realm" => "realm_can_access_to_root",
"require" => "user=user_can_access_to_root"
)
)
$HTTP["url"] =~ "^/rtorrent"{
auth.require = ( "/rtorrent" =>
(
"method" => "digest",
"realm" => "rtorrent",
"require" => "valid-user"
)
)
}
$HTTP["url"] =~ "^/sms"{
auth.require = ( "/sms" =>
(
"method" => "digest",
"realm" => "sms",
"require" => "valid-user"
)
)
}
Не забудьте установить локаль, если не установлена.
Пробуйте.Code:export LANG='ru_RU.UTF-8'
P.S.: Версия на php все еще работает. Тут веб интерфейс + посылка больших сообщений.
Изменится протокол - возьмем сниффер и будем допиливать.