我们有一个不寻常的邮件设置——前面是 Google Apps/Gmail,Exim 在我们的网络服务器上运行。Google Apps 中不存在的任何帐户的邮件都会转发给 Exim。这两个都使用相同的域。
问题是,从 Exim 帐户(或我们的 PHP 应用程序)发送的所有邮件都只在本地发送,而不是通过 Gmail 发送。
为了更好地说明这一点,请看这张高质量的图表:
[Google Apps] (Tom, Dick, Harry)
|
v
[Exim] (Jane, Mary, Sue)
发送给 Jane 的邮件由 Google 转发给 Exim。发送给 Tom 的邮件只是由 Google 递送。这是有效的部分——问题是,Jane 不能给 Tom 发电子邮件,因为就 Exim 而言,它运行了整个节目。
我正在阅读有关在 Exim 中设置 SmartHost 的信息,但这需要身份验证 - 关键是,Exim 中的帐户与 Apps 中的帐户不匹配。
如何配置 Exim 以通过外部路由传递本地邮件?
根据您在问题评论中引用的答案(配置服务器以将无法路由的电子邮件转发到另一个电子邮件服务器),我重写了逻辑部分以使用整个电子邮件地址,而不仅仅是本地部分。以下似乎在我的测试中起作用。
1) 将example.com放入您的 +local_domains 中。
2)添加他推荐的路由器。(后面应该有另一个路由器接受 +local_domains 和具有有效本地邮箱的用户):
3)创建
/etc/exim/forward_to_google
并放入它:4)您可以使用 exim 的 -bt address 测试选项进行测试(我的配置没有为有效本地用户提供的第二个路由器,但您的应该是这样的,所以第一个用户会显示本地交付):