投递到虚拟域时如何检查MX记录?

投递到虚拟域时如何检查MX记录?

我运行一个具有多个虚拟域的 Exim 邮件服务器(类似于)。该服务器是其他一些服务器的智能主机。

假设我有一个虚拟域 example.com,它有一个重定向:[email protected]=> [email protected]

当一个服务器想要使用这个Exim服务器发送邮件时[email protected],我希望该邮件服务器发送邮件[email protected]

到目前为止一切正常,但如果example.comMX 记录没有指向此 Exim 服务器怎么办?那么发送邮件[email protected]就会不正确。

有没有办法让 Exim 在使用这些虚拟域规则时检查 MX 记录的有效性?如果没有,我该怎么办?虚拟域列表很长。编写一个 cron 脚本来使任何无效域无效(并重新验证)感觉不对,或者至少有点黑客行为。

答案1

您的期望:

当某个服务器想要使用此 Exim 服务器发送邮件时[email protected],我期望该邮件服务器将邮件发送到[email protected]

是错误的。别名扩展不是由中间服务器和邮件中继完成的,它们应该只是将未修改的邮件转发到目的地。别名扩展只应在最终目的地的本地投递中进行。

如果您的 Exim 配置将 example.net 视为本地(虚拟或非虚拟)域,并且 example.net 的 MX 记录未指向您的 Exim 服务器;简单地说,服务器或 MX 记录配置错误。Exim 将仅遵循其配置并接受 example.net 的邮件进行本地投递。其他发件人将仅遵循 MX 优先级,并且要么无法投递邮件(如果 MX 记录不正确),要么这是唯一到达正确目的地的邮件(当 MX 记录正确并且 Exim 会将邮件保留在无人阅读的本地邮箱中时)。

维护正确的配置是您作为系统管理员的实际工作之一……

相关内容