送信者検証機能付き exim4 スマートホスト

送信者検証機能付き exim4 スマートホスト

私はexim4をISPメールサーバの前にスマートホストとして設定しようとしています。無効な送信者(おそらくスパム)からのメールを除いて、すべて正常に動作します。ISPはそれらを拒否します。

450 4.1.8 <[email protected]>: Sender address rejected: Domain not found

これにより、exim スマートホストが再試行し、キューのサイズが不必要に増加します。

私がこれを設定するのに最も近かったのは/etc/exim4/local_sender_calloutファイルを使うことでした。しかし、その場合、呼び出しはISPに送られ、ISPはそれを拒否します。

554 5.7.1 <[email protected]>: Relay access denied(有効なアドレスであっても、どのアドレスでも)/etc/exim4/passwd.clientこの場合、設定は機能しないようです...

exim スマートホストで送信者検証 (コールアウトあり、またはコールアウトなしが望ましい) を設定するにはどうすればよいですか?

説明: 私の exim はオープン リレーではなく、メールを受け入れるドメインの制限されたリストのみを既に指定しています。それらのメールはスマートホストに送信され、実際のメールボックスに配信されます。セットアップの図はおそらく次のようになります。

Internet -> my exim(mx) -> ISP(smarthost) <- users accessing email via POP/IMAP

私のドメインの MX レコードは、私の Exim サーバーを指しています。ただし、ISP は私のドメインの電子メールを受け入れ、メールボックスに保存します。

答え1

実際には、最終目的地に向かってより制限の厳しいフィルター セットを備えたフロントエンド MX を設定することになります。これに対処する最善の方法は、少なくともフロントエンドで同じ制限を課すことです。

ただし、スマートホストがあるため、「任意のドメイン」宛てのメールはスマートホストに送信されます。これはドメインの有効性チェックとうまく組み合わせられません。RCPT コマンド用に定義された ACL のどこかに、require verify = senderExim がメッセージを受け入れる前に送信元ドメインにメールを送信する方法があることを保証する が必要です。

常時接続の場合、スマートホスト ルーターの直前に追加のルーターを配置することをお勧めします。スマートホストに と があると仮定するとdomains = ! +local_domainsno_moreスマートno_verifyホスト ルーターに を追加し、その前に次のルーターを挿入します。

remote_dns_verify:
  driver = dnslookup
  domains = ! +local_domains
  transport = remote_smtp
  # ignore_target_hosts = +some_hostlist_matching_rfc1918_and_so_on
  same_domain_copy_routing
  verify_only
  no_more

これにより、検証パスはスマートホストを使用しないため、「すべてのルート」はなくなります。検証では DNS を持つリモート ドメインのみをルーティングできるため、ISP がルーティングできないために拒否している電子メールは受け入れられなくなります。

その後、ISPが拒否したメールの再試行を停止するために、特定のリモートエラーに一致する再試行ルールを設定することを検討します。http://www.exim.org/exim-html-current/doc/html/spec_html/ch-retry_configuration.html多くのための。

関連情報