我正在尝试让守护进程从Debian 10服务器发送电子邮件。
我使用的是带有OVH SMTP服务器的msmtp-mta。它配置正确。
当通过mail命令直接发送电子邮件时,一切都很好,比如:
echo "test" | mail -s "test" email@domain.com
但是,一些守护进程(如smartd(会尝试将电子邮件发送到root@localhost,但收件人地址root
格式不正确,OVH SMTP根本不喜欢:
send-mail: recipient address root not accepted by the server
send-mail: server message: 501 5.1.3 Invalid address
send-mail: could not send mail (account default from /etc/msmtprc)
Can't send mail: sendmail process failed with error code 65
并且在msmtp日志中:
Apr 25 00:39:49 host=ssl0.ovh.net tls=on auth=on user=***REDACTED*** from=***REDACTED*** recipients=root smtpstatus=501 smtpmsg='501 5.1.3 Invalid address' errormsg='recipient address root not accepted by the server' exitcode=EX_DATAERR
我尝试将root: email@domain.com
添加到/etc/alias中,并用newaliases
重新编码,甚至在root的homedir中放置了一个.forward
。
以前有人经历过这种情况吗?msmtp不应该尊重/etc/alias和/或.for.forward并替换root的电子邮件地址吗?
请与msmtp -v
核实您是否有其他可能覆盖您设置的别名。您可以使用该命令检查它是否正确注册了您的别名。
您可能还想将aliases /etc/aliases
添加到/etc/msmtprc
文件中。
如果您希望所有邮件都使用相应的发件人发送,也可以在/etc/aliases
中添加默认别名:default: awesome.mail@example.tld