Smtp

Exim4 智能主機中繼

  • July 14, 2010

我正在執行 Exim 4.71。我想要:

  1. 通過 mail.A.com路由來自A.com 的所有電子郵件
  2. 路由所有電子郵件 $$ B-E $$.com 通過 mail.B.com
  3. 直接發送所有其他電子郵件。

這是我的配置,它不像我希望的那樣工作:

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 = 只檢查目標域而不是源域。

引用自:https://serverfault.com/questions/151566