设置 exim 通过 dnslookup/MX 发送未知用户的邮件

设置 exim 通过 dnslookup/MX 发送未知用户的邮件

在 Debian Lenny 服务器“example.net”上,我们有一些 cron 任务需要发送邮件到“[电子邮件保护]'。该域的 MX 是异地专用的 SMTP 服务器。Exim 使用系统别名路由器查找本地用户,但找不到他:

$ exim -bt [email protected]
R: system_aliases for [email protected]
[email protected] is undeliverable: Unrouteable address

我们/etc/aliases有系统用户到根用户的正常重定向,我希望保留它。

让 exim 向用户发送邮件的最佳方式是什么本地找不到的到通过 dnslookup 指定的 SMTP 主机?

答案1

因此,在您的 localuser 路由器之后,添加一个稍微修改过的 dnslookup 路由器的副本:

dnslookup2:
  driver = dnslookup
  domains = example.net
  transport = remote_smtp
  ignore_target_hosts = 0.0.0.0 : 127.0.0.0/8
  no_more

请注意,“domains =” 已更改,路由器的名称也已更改。

恕我直言,如果 example.net 被当作本地域处理,并且拥有一组不同的有效用户,而该服务器又认为它是本地的,那么这是一个奇怪的配置。这不一定是错误的配置,但足够奇怪,让我产生“你可能在来这里之前做出了错误的选择”的感觉。

答案2

解决您的问题最简单的方法可能是在 /etc/aliases 中放入类似以下内容:

job-owner : [email protected]

一种不同的、更纯粹的解决方案是让本地机器仅为其自身路由电子邮件(例如,对于服务器“localserver”,这样 example.net 就可以按照 jj33 所建议的通过 dnslookup 路由器在 DNS 上正确路由。

除非您的本地服务器是 example.net 域的主要邮件路由服务器,否则它不应该解析 example.net。

相关内容