我有一个NAS4免费机器曾经能够自动向我发送电子邮件,例如系统启动时、UPS 发生故障时等。从版本 10 开始,甚至更久以后,该功能就不再起作用了。我该如何修复它?
我正在运行版本 11.0.0.4 - Sayyadina(修订版 3330),64 位嵌入式。
以下是我在 WebUI 中显示的电子邮件设置System > Advanced > Email Setup
:
From Email Address: [email protected]
To Email Address: [email protected]
SMTP Server: smtp.gmail.com
Port: 465
Security: TLS
TLS Mode: NOT checked
TLS Server Certificate Check: Off
Authentication: CHECKED (enable SMTP auth)
Username: [email protected]
Password: *******
Authentication Method: Best available
我正在使用应用程序密码因为我的 Gmail 帐户启用了双重身份验证。
当我点击时Send Test Email
,它会在顶部以红色显示一条错误消息,Failed to send test email. Please check the log files.
单击链接,我发现Diagnostics > Log
节目:
root: msmtp service executed
msmtp: host=smtp.gmail.com tls=on auth=on [email protected] [email protected] [email protected] errormsg='cannot read from TLS connection: a protocol violating EOF occured' exitcode=EX_IOERR
root: Failed to send test email to: [email protected].
从这里我推断出配置msmtp
是问题所在。但是,当我从 NAS4Free LiveCD 启动并通过 UI 使用相同设置配置电子邮件时,它工作正常。
答案1
此错误已在版本 11.0.0.4 - Sayyadina(修订版)中修复3460),发布于 2017-01-17。根据变更日志,他们“修复了当域为空时不添加域参数的问题。”
/var/etc/msmtp.conf
WebUI 生成的错误文件如下所示:
account default
domain
host smtp.gmail.com
port 465
protocol smtp
from [email protected]
auth on
user [email protected]
password <plaintext_pw>
tls on
tls_starttls off
tls_certcheck off
syslog LOG_MAIL
第二行“ domain
”后面没有任何内容,这就是问题所在。
当我从 LiveCD 启动时,那行显示domain local
,并且电子邮件可以正常工作。现在,升级到版本 3460 后,那行根本不存在,并且电子邮件也可以正常工作。
我想如果我的嵌入式安装不是无域的,我可能就不会遇到这个问题。