我关注这文章介绍了如何设置从一台服务器到另一台服务器的邮件中继,因为我想将所有系统电子邮件(例如 crontab 错误)从 Server1 重定向到 Server2。为了做到这一点,我编辑了我的 SSMTP 配置文件,如下所示:
/etc/ssmtp/ssmtp.conf
mailhub=<server2_ip>:587
rewriteDomain=codrutsoft.com
FromLineOverride=YES
UseTLS=YES
UseSTARTTLS=YES
[email protected]
AuthPass=<my_password>
我输入了正确的密码和 IP。我设置了一个 cron 作业,每分钟回显一次“错误”,并将其发送到电子邮件服务器。
要查看输出电子邮件的 cron 日志,我使用以下命令:
journalctl -u cron _TRANSPORT=stdout
这似乎是服务器不接受电子邮件的问题,从以下日志中您可以看到:
sendmail: RCPT TO:<[email protected]> (553 5.7.1 <[email protected]>: Sender address rejected: not owned by user [email protected])
我认为这是由于电子邮件是从root
而不是我的用户名发送的codrut
。我对电子邮件托管还很陌生,我不太明白这个问题。
此外,将我的密码包含在内ssmtp.conf
似乎是一种非常糟糕的做法,即使对于非主帐户也是如此。所以我想知道我是否可以直接转发电子邮件,就像它是从发送的一样Server1
,而这不需要密码。我认为这应该是可能的。
我将非常感激所有的帮助!
答案1
最后,我只是创建了一个[email protected]
,并将其设置为将电子邮件转发到[email protected]
。
而且,将此帐户的密码暴露在“ssmtp.conf”中并不像我认为的那样是一个大的安全问题。这是因为该文件需要 sudo 访问权限才能读取,如果恶意行为者有权访问 root,那么我面临的问题将比暴露系统邮件帐户更大。
在休息时,一切都按预期进行。