所以。有两台服务器---foo.com(VPS)和bar.com(运行cPanel的共享主机,已配置为接受foo.com的邮件)。
foo.com 已全新安装 Debian 7 并正在运行 Exim4。foo.com 的 MX 记录在 DNS 中指向 bar.com。
我不想在 foo.com VPS 本地接收邮件,因此想继续使用在 bar.com 上设置的 foo.com 地址,这似乎工作正常,因为我可以将邮件发送到[电子邮件保护]来自类似的地方[电子邮件保护]并且消息在 bar.com 服务器上正常显示[电子邮件保护]。同样,我可以发送邮件从将 foo.com VPS 复制到类似[电子邮件保护]并且邮件已收到,没有问题。此外,我可以通过 bar.com 使用 SMTP 使用 Thunderbird 将邮件发送到[电子邮件保护]并且它们在 bar.com 服务器上显示正常。所以就我所知,MX 记录似乎有效。
但问题是,发送邮件从foo.com VPS 到 foo.com 地址 --- 邮件从未送达。不是本地的,也不是它应该去的 bar.com。它只是消失在某种空白中 --- /var/log/mail* 等中没有错误,没有电子邮件被退回,但邮件从未到达 bar.com 主机。
目前,/etc/hostname
foo.com /etc/mailname
VPS 上的文件中有条目“mailclient.foo.com”,以避免在本地发送邮件。
foo.com上的 localhost 条目/etc/hosts
同样设置为mailclient.foo.com:
127.0.0.1 localhost mailclient.foo.com
Exim4 的配置几乎是默认的“互联网站点”配置,只是系统邮件名称设置为 mailclient.foo.com 以避免在本地发送电子邮件。
hostname
命令返回:mailclient.foo.com
命令hostname -f
返回:本地主机
我对邮件总体上还不熟悉,更不用说 Exim4 配置了,所以肯定有一些事情(或者确实是几件事)我做错了……
有什么想法/线索/值得尝试/阅读的东西吗?
非常感谢大家的帮助!我已经被这个问题困扰了好几个星期了!
答案1
您必须在主机上设置手动路由foo.com
:
begin routers
fwd2bar:
driver = manualroute
domains = foo.com : qux.com : +local_domains
route_data = mail.bar.com
transport = smtp
no_more
. . . . .
您必须将其放在路由器的最开始,在任何其他路由器之前。每条在 中列出目标域的消息都domains
将发送到主机mail.bar.com
。您必须确保所有域都定义为本地域或在 上正确中继mail.bar.com