我已经在另一台服务器上测试了该脚本并且运行良好。
当我检查 exim 日志时,发现有很多这样的行,
User 0 set for local_delivery transport is on the never_users list
有很多这样的
routing defer (-51): retry time not reached
甚至还有一些像这样
R=lookuphost T=remote_smtp defer (-44): SMTP error from remote mail server after RCPT TO:
说实话我非常困惑。
从 webmail/outlook 等发送所有邮件都正常!由于这是 VPS,我有完整的 SSH 和 root 访问权限。任何帮助都将不胜感激
答案1
Exim 正在尝试将邮件发送到远程 SMTP 主机,但失败了。以下是:
R=lookuphost T=remote_smtp defer (-44): SMTP error from remote mail server after RCPT TO:
行的含义。它将这些邮件排队等待重试,并跳过 mailq 以查看是否应尝试重新发送这些邮件。它不会立即尝试,必须达到预定的超时时间。这会导致:
routing defer (-51): retry time not reached
最后,当达到最大重新投递尝试次数但仍然失败时,它会尝试将邮件投递给邮件管理员(默认情况下配置为 root)。但是,默认的 exim 配置是永远不会投递给 root,因此您会得到:
**User 0 set for local_delivery transport is on the never_users lis**t
这里有两个问题:
首先:exim 无法向该特定 SMTP 服务器投递邮件。目标 SMTP 服务器已损坏,或者 Exim 无法向任何 SMTP 服务器投递邮件。exim 是否会向其他域上的地址投递邮件?您可以使用以下命令在命令行上进行测试:
/path/to/exim -v '[email protected]'
message here
^D ( control D )
其次,您没有有效的方法让 exim 向您报告失败。配置您的/etc/aliases
文件以确保postmaster
和其他帐户正确别名为真实地址。