Хочу уникальный почтовый ящик. Собираюсь купить доменное имя и привязать к WL500GP, на котором будет стоять почтовый сервер, перенаправляющий всю почту на другое мыло. Реализуемо?
Printable View
Хочу уникальный почтовый ящик. Собираюсь купить доменное имя и привязать к WL500GP, на котором будет стоять почтовый сервер, перенаправляющий всю почту на другое мыло. Реализуемо?
Мне похоже надо с Гугла брать проценты за работу его филиалом ;)
http://www.google.com/a/cpanel/domain/new?hl=ru
Большое спасибо!
Подскажите, как сделать, чтобы роутер (Wl500g V2) проверял почту (gmail) и сигнализировал, проигрыванием мелодии (mpd, подключена USB колонки) о налиичии новых писем.
Ps а может и проговаривал от кого письмо http://www.speech.cs.cmu.edu/flite/
Как роутер будет сигнализировать ? Каким местом он будет проигрывать мелодию ?
Хотя бы чтоб мигал LED'ом каким нить, например LAN 4
У меня USB колонки к нему подключены
насчёт проговорить от кого письмо, кое что нашёл http://wl500g.info/showthread.php?t=...ighlight=flite , а вот как организовать проверку почты?
Можно повесить сирену или голосовой модуль на LED ... :D
Но мигать LAN 4 не получится ... :rolleyes: Только Power led ... ;)
Скрипт предназначен для отправки почты по протоколу ESMTP; поддерживает нешифрованную авторизацию (AUTH LOGIN).
Использует только встроенный telnet, дополнительных пакетов не требует.
Протестировано на почтовиках mail.ru и yandex.ru - работает, gmail.com - не работает (т.к. gmail не поддерживает нешифрованную авторизацию).
Ссылка на mail.sh: Attachment 5875
Пример использования:
Отправляем письмо при подключении роутера к провайдеру.
1. Кладем mail.sh в каталог /tmp/local/sbin, делаем его исполняемым
2. Создаем в том же каталоге файл ip-up-custom с таким содержимым:
так же делаем его исполняемым (то, что выделено курсивом изменить на свои данные).Code:#!/bin/sh
/tmp/ppp/ip-up $*
/tmp/local/sbin/mail.sh -s smtp.mail.ru -f router@mail.ru -t router-owner@gmail.com -l login -p password -m "Interface name: $1\nTty device: $2\nSpeed: $3\nLocal IP: $4\nRemote IP: $5" -j "Router: connected to ISP" -v | logger
2a. Если не нужен вывод в системный лог - убрать "| logger"
2b. Если не нужна информация о запросах/ответах сервера - убрать "-v"
4. Сохраняем флэш: flashfs save && flashfs commit && flashfs enable
5. Идем в WEB-морду - IP Config/WAN & LAN, прописываем в "Additional pppd options" такую команду (без кавычек): "ip-up-script /tmp/local/sbin/ip-up-custom"
6. Нажимаем сохранить и перезагрузить
Оригинальный пост (27-01-2010):
Началось все с желания получать уведомление по почте о подключении роутера к провайдеру.
пробовал встроенный mini_sendmail - не подошло, т.к. не поддерживает SMTP авторизацию. Установка других клиентов тоже не подошла - ну не хочется забивать место всякими дополнительными либами для такой тривиальной задачи.
В конце-концов написал небольшой скриптик, для отправки почты telnet'ом (полностью рабочий и опробованный мной на почтовиках yandex.ru и mail.ru; с gmail.com не работает, т.к. тот не поддерживает нешифрованную авторизацию). Сам скрипт см. ниже.
Проблема заключается в том, что после отправки каждой команды надо ждать ответа сервера (в идеале конечно еще и парсить этот ответ на предмет ошибок). Обошел это введением sleep'а в одну секунду, после каждой команды.
пример mail.sh, вызываемого из ip-up, с пятью параметрами:
(отмеченно красным цветом надо заменить на свои параметры; отмеченное курсивом писать не надо - это комментарии; зеленым отмечено тело письма; сконвертить в Base64 можно здесь: http://base64-encoder-online.waraxe.us/)
вызывается таким образом:Code:#!/bin/sh
echo EHLO smtp.mail.ru <адрес SMTP сервера, как правило соответствует параметру, переданному telnet'у (см. пример вызова)>
sleep 1
echo AUTH LOGIN
sleep 1
echo -e "bG9naW4=" <имя пользователя в кодировке Base64>
sleep 1
echo -e "cGFzc3dvcmQ=" <пароль в кодировке Base64>
sleep 1
echo -e "MAIL FROM: <router@mail.ru>" <адрес, с которого будет послано сообщение>
sleep 1
echo -e "RCPT TO: <router-owner@gmail.com>" <адрес, кому будет послано сообщение>
sleep 1
echo DATA
sleep 1
echo Subject: Router
echo From: router@mail.ru <должно соответствовать MAIL FROM, указанному выше>
echo To: router-owner@gmail.com <должно соответствовать RCPT TO, указанному выше>
echo -e "Interface name: $1"
echo -e "Tty device: $2"
echo -e "Speed: $3"
echo -e "Local IP: $4"
echo -e "Remote IP: $5"
echo -e "."
sleep 1
echo QUIT
echo -e ""
для того, чтоб вывод попал в системный лог, можно в конце добавить "| logger"Code:mail.sh $* | telnet smtp.mail.ru 25
Вроде работает, но хотелось бы сделать по человечески, чтобы следующая команда выполнялась после того, как от сервера получен ответ. Гуру shell'а подскажите, можно как-то завернуть вывод telnet'а обратно на mail.sh? Чтоб скрипт ждал ответа сервера до выполнения следующей команды, вместо sleep 1.
И еще есть в роутере какие-нибудь встроенные средства для конверта в Base64? тогда можно было бы все параметры почты/логина вынести наружу.
для решения подобных задач существует expect:
http://wl500g.info/showthread.php?t=12492
http://wl500g.info/showthread.php?t=9292
Спасибо, интересная ссылка.
Жалко только, что коммуникация через создание/запись в файл происходит (насколько я понял).
Надо будет сделать скриптик с expect'ом, для разнообразия :)
Я пробовал конструкцию типа (подозреваю, что это совершенно не правильно, но все-таки...)
т.е. завернуть stdout обратно на ввод mail.sh, но отладить и проверить жизнеспособность не успел - провайдер заглючил :(Code:mail.sh $* <&1 | telnet smtp.mail.ru 25
первой ссылкой пока реально воспользоваться не довелось, но решение по второй без временных файлов уж точно.
Впрочем, файлы в /tmp --- все равно есть виртуальные файлы в ramfs, так что особого оверхеда не ожидается.
Очень понравилось такое решение.
Для полноты картины хотелось бы понять что и куда писать в ip-up. И где собственно этот ip-up находится.
поищи по форуму ip-up-script.
В WEB-морде надо прописать в параметрах к pppd (Additional pppd options): ip-up-script your-ip-up-script. Не забудь к скрипту полный путь дать :)
внутри скрипта писать примерно следующее:
Code:#!/bin/sh
#стандартный обработчик ip-up.
#если его не вызвать, рискуем не подключиться к провайдеру
/tmp/ppp/ip-up $*
logger start send mail
/tmp/local/sbin/mail.sh $* | telnet smtp.yandex.ru 25 | logger
logger mail sent