如何从 OpenWrt 路由器发送邮件

如何从 OpenWrt 路由器发送邮件

我正在使用 OpenWrt 10.03,需要通过电子邮件发送路由器的“报告”。我已经安装了 sendmail:

# opkg install mini-sendmail

然后我使用了我的 ISP 的 smtp 服务器:

# echo -e "From: [email protected]\nSubject: SUBJECT\nReply-to: [email protected]\n\nBODYHERE" \
> | mini_sendmail -sMYISPSSMTPSERVER [email protected]
mini_sendmail: unexpected response 550 to RCPT TO command

问题:

  1. 我怎么知道我的 ISP 阻止了端口 25?

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

    那么它没有被阻塞吗?

  2. 如果端口 25 没有被阻止,那么我该如何检查?我的 ISP 需要“电子邮件用户”吗?

  3. 如果我无法使用电子邮件,那么我必须注册一个免费的电子邮件地址 [gmail?],并了解如何在 OpenWRT 中发送电子邮件 [需要用户名和密码] 唯一的问题是,我不想在路由器上存储密码。

答案1

我知道这已经过时了,但这是在搜索“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 [email protected]
password password

auto_from off
from [email protected]

tls on
tls_starttls on
tls_certcheck off

logfile
syslog LOG_MAIL

要发送电子邮件,请使用通常的 sendmail 方法。

答案2

解决方案:我安装了ssmtp + 使用ssl smtp注册了一个免费的电子邮件地址,如下所示:

# opkg install ssmtp

$ cat /etc/ssmtp/ssmtp.conf
[email protected]
mailhub=SMTP.EXAMPLE.COM:465
rewriteDomain=EXAMPLE.COM
hostname=EXAMPLE.COM
FromLineOverride=YES
UseTLS=YES
AuthUser=MYEMAIL
AuthPass=PASSWORDHERE

$ echo -e "From: [email protected]\nSubject: SUBJECT\nReply-to: [email protected]\n\nBODYHERE" \
> | ssmtp -vvv [email protected]

答案3

您能将路由器排除在外,只通过 telnet 发送电子邮件吗?ISP 通常会完全阻止出站 SMTP (tcp/25),同时允许连接到他们的邮件服务器,您可以将该服务器用作智能主机(可能需要身份验证)来为您中继邮件。

答案4

通常,消费者互联网服务提供商会阻止除他们自己的 SMTP 服务器之外的所有 SMTP 服务器的 TCP/25。因此,能够从路由器远程登录到该服务器是完全正常的。

您的 ISP 可能要求在通过 SMTP 发送之前进行身份验证,并且我不认为 mini_sendmail 支持 SMTP AUTH。您可以查看 ssmtp opkg 而不是(或除了)mini_sendmail: http://linux.die.net/man/5/ssmtp.conf

相关内容