当发件人的域、收件人的域和服务器主机名都匹配时,如何配置 exim4 通过第三方 SMTP 服务器路由所有电子邮件?
我遵循了这个很好的答案,exim4
并将电子邮件发送到其他经过测试并在 Ubuntu 服务器上工作的域的地址。我唯一的问题是发件人和收件人共享与服务器主机名相同的域的电子邮件,它们永远不会离开服务器(这是预期的行为)。
例如,从 [email protected] 发送 --> [email protected] 工作正常,但从 [email protected] 发送 --> [email protected] 只是将邮件本地路由到/var/mail/account2
,而不通过第三个-方 SMTP 服务器。
我在我自己的域中使用 Google Apps,并希望从一台主机名为 example.com 的机器上将电子邮件从 [email protected] 发送到 [email protected]。
我想通过 Google 的 SMTP 服务器路由它们,以便在我的其他电子邮件客户端中看到它们。这可能吗?
看一下设置和使用
在路由器部分变得有趣之前,您应该在访问列表中找到一些用途。我家里的盒子有这个作为第一个路由器:
澄清:以下路由器将适用于所有发送到“local_domains”内容的电子邮件
使用的传输在 exim 配置的传输部分中定义,您应该已经有一个(可能具有不同的名称),它将您的邮件推送到其他地方。route_list 变量告诉 exim 将此路由器的所有邮件推送到服务器 SMARTHOST。
您应该花一些时间阅读精美的 exim 手册。它将有助于非标准设置,这些设置超出了 ubuntu 的简化配置所能做的。
如果您按照我的问题中链接的指南进行操作,那么您在
/etc/exim4/conf.d/router/
. 要编辑的是 200_exim4-config-primary,如下所示:sudo nano /etc/exim4/conf.d/router/200_exim4-config_primary
底部是“smarthost:”部分,如下所示:
从“域”行中删除感叹号和空格,使其看起来像这样:
这两个字符的编辑是让一切正常工作所需要的。在 Ubuntu Server 12.04 + Exim 上的我的域中测试并使用 Google Apps,感谢 Stefan 提供的线索!
将您的主机添加到
dc_relay_domains
配置参数中,例如:并在
!
登录之前删除登录或者如果您不使用拆分配置 ( )看起来像:+local_domains
dnslookup_relay_to_domains
router/200_exim4-config_primary
exim4.conf.template
dc_use_split_config='false'
或者简单地
!
从dnslookup
部分中删除以将所有内容发送到外部: