у меня не работает, класс заменил
Printable View
у меня не работает, класс заменил
Как пишут тут, надо обновить 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 все еще работает. Тут веб интерфейс + посылка больших сообщений.
Изменится протокол - возьмем сниффер и будем допиливать.
Спасибо! Это большой шаг вперед.
Тут видимо опечатка:
Просьба: Вы не могли бы "прорекламировать" python?
Интересует:
- для каких задач Вы его используете на роуторе?
- чем он лучше (для Вас) php?
(ни о каких с.в. речи не идет, просто хочется услышать мнение человека, которому нравится python)
Сделал вроде как все по инструкции, но при отправке через telnet
При отправке через веб интерфейсCode:[False, False, False, False]
Traceback (most recent call last):
File "/tmp/harddisk/www/sms/send.py", line 27, in <module>
print(s.send_sms(phone, message))
File "/tmp/mnt/disc0_3/www/sms/sender.py", line 179, in send_sms
if self.send_sms_part(phone, temp_message[:size]):
File "/tmp/mnt/disc0_3/www/sms/sender.py", line 111, in send_sms_part
list = agent.is_contact_list(packet)
File "/tmp/mnt/disc0_3/www/sms/mrim.py", line 466, in is_contact_list
phone = str(self.get_bytes_from_packet(packet, dlen), 'UTF-8')
UnicodeDecodeError: 'utf8' codec can't decode bytes in position 3-5: invalid dat
Результат
[False, False, False, False]
Результат для 4х ящиков
Для одного ящика ответ [False]
где мог накосячить? у меня 11 ящиков с одинаковыми паролями
колбаскин
Команда export что говорит? Переменная LANG установлена?
Code:export LANG='ru_RU.UTF-8'
export выполните в шелле.
Если LANG не установлено, то тоже в шелле выполните:
А вообще эту строку лучше прописать в /etc/profile, чтобы при загрузке подхватывалось.Code:export LANG='ru_RU.UTF-8'