Smtp
Exim4 智能主機中繼
我正在執行 Exim 4.71。我想要:
- 通過 mail.A.com路由來自A.com 的所有電子郵件
- 路由所有電子郵件 $$ B-E $$.com 通過 mail.B.com
- 直接發送所有其他電子郵件。
這是我的配置,它不像我希望的那樣工作:
domainlist a_domains = a.com domainlist b_domains = b.com : c.com : d.com : e.com 開始路由器 smart_route_a: 司機 = 手動路線 域 = +a_domains 傳輸 = remote_smtp route_list = +a_domains mail.a.com 不再 smart_route_b: 司機 = 手動路線 域 = +b_domains 傳輸 = remote_smtp route_list = +b_domains mail.mollenhour.com 不再 dns查找: 驅動程序 = dnslookup 域 = !+local_domains 傳輸 = remote_smtp 忽略目標主機 = 0.0.0.0:127.0.0.0/8 不再
當我發送電子郵件(例如使用 PHP
mail(
)或Zend_Mail_Transport_Smtp
將 From: 和 Return-Path: 都設置為 user@a.com 時,smart_route_a
不使用路由器,而是使用 dnslookup。禁用 dnslookup 會導致不發送郵件。從日誌看來,發送到someone@a.com 的電子郵件使用
smart_route_a
,但從user@a.com 發送到user@gmail.com 的同一電子郵件是使用 發送的dnslookup
。如何使來自 user@a.com 的電子郵件通過mail.a.com 中繼?
使用條件類似
route_list = * "${if match{$header_from:}{\N.*\.a\.com$\N} {mail.a.com}}"
domain = 只檢查目標域而不是源域。