Exim4 スマートホストリレー

Exim4 スマートホストリレー

Exim 4.71 を実行しています。次の操作を実行したいです:

  1. すべてのメールをルーティングからA.com から mail.A.com
  2. すべてのメールをルーティングから[BE].com から mail.B.com へ
  3. その他のメールはすべて直接送信してください。

期待通りに動作しない設定は次のとおりです。

ドメインリスト a_domains = a.com
ドメインリスト b_domains = b.com : c.com : d.com : e.com

ルーターを始める

スマートルートa:
  ドライバー = 手動ルート
  ドメイン = +a_domains
  トランスポート = リモート SMTP
  ルートリスト = +a_domains mail.a.com
  もうない

スマートルートb:
  ドライバー = 手動ルート
  ドメイン = +b_domains
  トランスポート = リモート SMTP
  ルートリスト = +b_domains mail.mollenhour.com
  もうない

dnslookup:
  ドライバー = dnslookup
  ドメイン = ! +local_domains
  トランスポート = リモート SMTP
  ignore_target_hosts = 0.0.0.0 : 127.0.0.0/8
  もうない

mail(PHPの)またはZend_Mail_Transport_SmtpFrom:と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 = はソースドメインではなく宛先ドメインのみをチェックします。

関連情報