我的 ssmtp 不会将“收件人”从“root”更改为我的电子邮件。
在我的 ssmtp.conf 中我有:[email protected]
在调试输出中,我发现工作命令和不工作命令之间只有一个区别:
工作命令:回显“正文”|邮件-s“测试”[电子邮件保护]
调试输出:
Feb 16 13:28:20 deb1-sh sSMTP[21160]: To: [email protected]
不起作用的命令:回显“正文”|邮件-s“测试”根
调试输出:
Feb 16 13:27:21 deb1-sh sSMTP[21151]: To: root
根据这篇文章:http://possiblelossofprecision.net/?p=591我尝试添加包含以下内容的文件 /etc/mail.rc:
alias root [email protected]
没有成功。
我运行的是 debian jessie 8.3。
看起来 ssmtp 根别名不起作用。有人知道原因吗?或者如何解决这个问题?谢谢。
答案1
据我了解,root
sSMTP 的配置设置是仅有的用于本地帐户因此应将其设置为对本地主机有效的用户名。它不是其他功能更全面的 MTA 使用的别名(可用于将邮件转发到另一个域)。
/etc/ssmtp/ssmtp.conf
我所在州的评论
(5)根
如果 sSMTP 在收件人中发现不合格的电子邮件地址,并且它对应于本地计算机上的用户名,且用户 ID 小于 1000,则电子邮件将发送到此值。这个想法是,发送给“root”的邮件可能应该发送给“postmaster”。
答案2
ssmtp 不会取代邮件。我通过使用 ssmtp 二进制文件而不是 mail.mailutils 来使其工作。您可以通过运行以下命令来测试它:
MAIL=$(which mail) mv "${MAIL}" "${MAIL}.orig" && ln -s $(which ssmtp) "${MAIL}"