使用 ssmtp 向 SES 发送邮件时 logwatch 出错

使用 ssmtp 向 SES 发送邮件时 logwatch 出错

我在 AWS (ubuntu) 上运行服务器,我需要外发电子邮件才能通过电子邮件发送日志文件。为此,我使用了 ssmtp 和亚马逊的 SES(简单电子邮件服务)。

我已经验证了电子邮件地址,当我从命令行运行测试时,一切正常。电子邮件按预期发送和接收。

我遇到的问题是logwatch。当它运行时(从 cron 和我直接运行),我看到以下错误:

sSMTP[6890]: 554 Transaction failed: User name is missing: 'root'.

我已经logwatch设置了:

MailFrom = [email protected]
MailTo = [email protected]

两封电子邮件均已通过 SES 验证。

ssmpt.conf设置如下:

[email protected]
mailhub=email-smtp.us-east-1.amazonaws.com:465
#rewriteDomain=mydoman.com   # Having these uncommented doesn't help
#hostname=mydomain.com
UseTLS=YES
AuthUser=XXXXX
AuthPass=XXXXX
AuthMethod=LOGIN
FromLineOverride=YES

revaliases

root:[email protected]:email-smtp.us-east-1.amazonaws.com:465
logs:[email protected]:email-smtp.us-east-1.amazonaws.com:465

如果我通过它发送电子邮件作为测试,ssmpt 就会起作用。

有人知道发生了什么,以及为什么它认为用户名缺失吗?我可以通过 ssmpt 以“root”身份发送电子邮件,没有任何问题。只是logwatch这导致了问题。

谢谢

答案1

好的,我终于明白了。

尽管互联网上有很多“网站”这么说,但您不需要修改 logwatch.conf 文件:

/usr/share/logwatch/default.conf/logwatch.conf

相反,您需要将此文件复制到:

/etc/logwatch/conf/logwatch.conf

并在那里做出任何更改。

在我这样做之后,一切都正常了。希望这能为其他人省去几天的麻烦。

现在回想起来,我确实觉得修改配置文件很奇怪/usr/share。我应该听从自己的直觉。

相关内容