msmtp 无法通过 OVH SMTP 将邮件发送到根地址

msmtp cannot send mail via OVH SMTP to root address

我正在尝试让守护进程从 Debian 10 服务器发送电子邮件。

我将 msmtp-mta 与 OVH SMTP 服务器一起使用。配置正确。

直接通过 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/aliases 并使用 newaliases 重新加载,甚至将 .forward 放入 root 的 homedir。

有没有人遇到过这种情况?不应该 msmtp honor /etc/aliases and/or .forward 并替换 root 的电子邮件地址吗?

请检查 msmtp -v 是否有其他别名可能会覆盖您正在设置的别名。您将能够使用该命令检查它是否正确注册了您的别名。

您可能还想将 aliases /etc/aliases 添加到您的 /etc/msmtprc 文件中。

如果您希望所有邮件都使用相应的发件人发送,您还可以在 /etc/aliases 中添加默认别名:default: awesome.mail@example.tld