![Exim4 智能主机中继](https://linux22.com/image/516328/Exim4%20%E6%99%BA%E8%83%BD%E4%B8%BB%E6%9C%BA%E4%B8%AD%E7%BB%A7.png)
我正在运行 Exim 4.71。我想要:
- 路由所有电子邮件从A.com 通过 mail.A.com
- 路由所有电子邮件从[BE].com 通过 mail.B.com
- 直接发送所有其他电子邮件。
以下是我的配置,但它没有像我希望的那样工作:
域名列表 a_domains = a.com 域名列表 b_domains = b.com : c.com : d.com : e.com 开始路由器 智能路线: 司机 = 手动路线 域名 = +a_domains 传输 = remote_smtp 路由列表 = +a_domains mail.a.com 不再 智能路线: 司机 = 手动路线 域 = +b_域 传输 = remote_smtp 路由列表 = +b_domains mail.mollenhour.com 不再 dns查找: 驱动程序 = dnslookup 域 = !+本地域 传输 = remote_smtp 忽略目标主机 = 0.0.0.0 : 127.0.0.0/8 不再
当我使用 PHP 发送电子邮件时mail(
)或Zend_Mail_Transport_Smtp
将 From: 和 Return-Path: 设置为[电子邮件保护],smart_route_a
不使用路由器,而是使用 dnslookup。禁用 dnslookup 会导致不发送邮件。
从日志来看,电子邮件已发送到 [电子邮件保护]使用smart_route_a
,但同一封电子邮件来自[电子邮件保护]到[电子邮件保护]使用 发送dnslookup
。
如何创建电子邮件从 [电子邮件保护]通过 mail.a.com 中继吗?
答案1
使用条件
route_list = * "${if match{$header_from:}{\N.*\.a\.com$\N} {mail.a.com}}"
domains = 仅检查目标域而不是源域。