![Sendmail 忽略 mailertable](https://linux22.com/image/501040/Sendmail%20%E5%BF%BD%E7%95%A5%20mailertable.png)
我在 CentOS 5.4 机器上安装了基于软件包的 Sendmail,并尝试将其配置为面向公众的中继服务器,用于处理各个域的电子邮件的各种内部服务器。所有正确的 MX 条目都指向这个面向公众的服务器。
到目前为止我已经完成以下步骤:
- 通过 yum 安装了 sendmail,它为我提供了库存 sendmail.{mc,cf} 文件。
- 确保
mailertable
sendmail.mc 中的选项已定义且未被注释掉。 - 确保
Kmailertable
运行后该选项出现在 sendmail.cf 中make
。 - 编辑后
mailertable
包含我希望中继到内部服务器而不是使用 MX 的域。(即domainx.com: relay:mail1.internal.com
) - 运行
make
并确保更改已提交mailertable.db
。 - 重新启动 sendmail。
当我实际尝试通过此框中继发往 mailertable 域之一的邮件时,就会出现问题。maillog 报告中的结果条目config error: mail loops back to me (MX problem?)
以及随后的条目DSN: Local configuration error
。它从未提及尝试使用我明确提供的中继;它正在执行纯基于 MX 的路由。这是我禁用 mailertable 时得到的相同最终结果,因此看起来它完全忽略了它。顺便说一句,我尝试使用,domainx.com: smtp:mail1.internal.com
没有任何变化。
我是否遗漏了此过程中的某个步骤以使其正常工作?
答案1
好的,我在你的最后一个问题中误导了你。正确的格式mailertable
是:
domain.com relay:some.other.system
...即,目的地后面没有冒号。
抱歉,我说得太快了。我已经修复了另一个问题,以免以后误导大家。
答案2
请不要使用 sendmail。有几种更好、更易于配置的 sendmail 替代品,如 exim 或 postfix。您只应在拥有现有 sendmail 基础架构并且对其有丰富经验的情况下使用 sendmail。您可能会发现,在弄清楚 sendmail 无法正常工作的原因时,您可以设置并用 exim 替换 sendmail,并且这里和其他网站上会为您提供更多帮助。