内部で異なるOSを実行しているいくつかの異なるサーバーがあり、それぞれが特定のドメインの電子メールを処理します。これらの公開IPは1つしかないため、CentOSベースのサーバーを構成して、外部からの特定のドメインの着信メッセージのみを受け入れ、その後、それらのメッセージを適切な内部に中継したいと思います。受信者ドメインに基づくサーバー。
これを達成するためにDNSをハックしたくありません。適切な内部アドレスを指すMXエントリを使用して、CentOSサーバー上にゾーンを簡単に作成できることはわかっていますが、それは少し厄介です。各ドメインのゾーンの公開されているバージョンを引き続き使用するには、そのマシンが必要なので、これはオプションではありません。ちなみに、すべての適切なMXエントリは、すでに私の公開IPアドレスを指しています。
スマートテーブルを少し読んだところ、送信者のドメインのみが検査されているようです。私はこれについて間違っているかもしれないので、それを除外していません。
そのような解決策はSendmailで可能ですか?もしそうなら、どのような構成オプションと機能でこれを行うことができますか?サンプルをいただければ幸いです。
私たちはまさにこれを行います。
2つの構成ファイルにエントリを作成する必要があります。
まず、中継するドメインを/etc/mail/relay-domains
に1行に1つずつ入力します。バリエーションを含めます。
次に、/etc/mail/mailertable
で、そのドメイン宛てのメールをどう処理するかをsendmailに指示する必要があります。
例:
/etc/mail/relay-domains
:
exampledomain.com
otherdomain.com
/etc/mail/mailertable
:
exampledomain.com relay:mailboxes.exampledomain.com
mailertable
への変更が有効になるように、/etc/mail
でmakeを実行することを忘れないでください。
ドメインのエントリをmailertable
に入れないと、DNSに問い合わせて、「より良い」MXに送信しようとすることに注意してください。 DNSが何の役にも立たない場合、DNSはメールをローカルに配信しようとします(/etc/mail/local-Host-names
を医者にしない限り、失敗します)。