Exim 向所有用户发送外发邮件,或者不向所有用户发送,而不是向部分用户发送

Exim 向所有用户发送外发邮件,或者不向所有用户发送,而不是向部分用户发送

我有一个 PHP 应用程序通过本地 Exim (v4.96) 服务器通过 SMTP 发送电子邮件。我使用身份验证连接端口 587,大多数情况下一切正常。当我尝试发送到多个地址时,如果其中一个地址没有有效的 DNS,就会出现问题。在我使用过的其他服务器上,在这种情况下,它会继续向所有有效地址发送邮件,并对错误的地址发出退回邮件。

在这台特定的服务器上(由其他人设置),在这种情况下,无论地址的顺序如何,都无法发送任何东西;exim_mainlog说,然后关闭连接,根本没有提及好的地址。The mail server could not deliver mail to [email protected]. The account or domain may not exist, they may be blacklisted, or missing the proper dns entries.

是否有某些设置可能导致这种情况?我在文档中看不到类似的东西,但我不是 Exim 配置方面的专家,所以也许我只是使用了错误的搜索词。

答案1

服务器可能在其 Exim 配置文件中设置了“reject_unknown_recipient_domain”选项。此选项会导致 Exim 拒绝所有发送到没有有效 DNS 条目的收件人域的传入邮件。您可以通过搜索“reject_unknown_recipient_domain”行来检查 Exim 配置文件(/etc/exim4/exim4.conf.template 或 /etc/exim/exim.conf)中是否设置了此选项。如果发现此选项设置为 true,则可以将其更改为 false 以允许向具有无效 DNS 的地址发送邮件。

此外,您还可以尝试在 Exim 配置文件中添加一条路由,指定如何处理未知收件人域。例如,您可以在配置文件中添加以下行:

route_list = * @ : [email protected]

此路由指定任何发往未知收件人域的传入电子邮件应发送到[电子邮件保护]这样,有效收件人仍会收到他们的电子邮件,而无效收件人的电子邮件将被退回给发件人。

相关内容