Назад | Перейти на главную страницу

Как отправлять почту с роутера OpenWrt

Я использую OpenWrt 10.03 и мне нужно отправлять «отчеты» со своего роутера по электронной почте. Я установил sendmail:

# opkg install mini-sendmail

Затем я использовал smtp-сервер моего интернет-провайдера:

# echo -e "From: TEST@TEST.TES\nSubject: SUBJECT\nReply-to: TEST@TEST.TES\n\nBODYHERE" \
> | mini_sendmail -sMYISPSSMTPSERVER MYEMAIL@EXAMPLE.COM
mini_sendmail: unexpected response 550 to RCPT TO command

Вопросы:

  1. Как я мог узнать, что 25 порт блокировки моего интернет-провайдера?

    # telnet MYISPSSMTPSERVER 25
    220 MYISPSSMTPSERVER ESMTP ready
    quit
    221 MYISPSSMTPSERVER closing connection
    Connection closed by foreign host
    

    так это не заблокировано?

  2. Если порт 25 не заблокирован, как я могу это проверить? Нужен ли мне «почтовый пользователь» у моего интернет-провайдера?

  3. Если я не могу заставить электронную почту работать, то мне нужно зарегистрировать бесплатный адрес электронной почты [gmail?] И узнать, как отправить электронную почту [с требуемым именем пользователя и паролем] в OpenWRT. Единственная проблема в том, что Я не хочу хранить пароли на роутере.

Решение: я установил ssmtp + зарегистрировал бесплатный адрес электронной почты с ssl smtp следующим образом:

# opkg install ssmtp

$ cat /etc/ssmtp/ssmtp.conf
root=MYEMAIL@EXAMPLE.COM
mailhub=SMTP.EXAMPLE.COM:465
rewriteDomain=EXAMPLE.COM
hostname=EXAMPLE.COM
FromLineOverride=YES
UseTLS=YES
AuthUser=MYEMAIL
AuthPass=PASSWORDHERE

$ echo -e "From: MYEMAIL@EXAMPLE.COM\nSubject: SUBJECT\nReply-to: MYEMAIL@EXAMPLE.COM\n\nBODYHERE" \
> | ssmtp -vvv MYOTHEREMAIL@EXAMPLE.COM

Я знаю, что это устарело, но это одна из ссылок, которые появляются при поиске "openwrt smtp"
Перейдите по этой ссылке- https://forum.openwrt.org/viewtopic.php?id=18669

Ради предотвращения проблем с ссылками.
Сначала установите.

# opkg install msmtp

Затем создайте файл конфигурации.

# cat /etc/msmtprc
account default

host smtp.gmail.com
port 587
auth on
user account@gmail.com
password password

auto_from off
from account@gmail.com

tls on
tls_starttls on
tls_certcheck off

logfile
syslog LOG_MAIL

Для электронной почты используйте обычный подход sendmail.

Можете ли вы исключить маршрутизатор и просто отправить электронное письмо через telnet? Интернет-провайдеры часто полностью блокируют исходящий SMTP (tcp / 25), одновременно разрешая подключения к своему почтовому серверу, который вы можете использовать в качестве интеллектуального хоста (который может потребовать аутентификации) для ретрансляции почты для вас.

Обычно поставщики потребительских Интернет-услуг блокируют TCP / 25 для всех SMTP-серверов, кроме своих собственных. Поэтому было бы совершенно нормально подключиться к нему через telnet с вашего маршрутизатора.

Ваш интернет-провайдер может потребовать аутентификацию перед отправкой по SMTP, и я не верю, что mini_sendmail поддерживает SMTP AUTH. Вы можете посмотреть ssmtp opkg вместо (или в дополнение к) mini_sendmail: http://linux.die.net/man/5/ssmtp.conf