簡単な質問があります。メインサーバーのサブドメインを持つ電子メールアドレスに送信するときに、別のサーバー(Exchange Server)に電子メールを送信するようにpostfixを設定するにはどうすればよいですか?たとえば、メインサーバーがmail.example.comであり、exchange.example.comからの電子メールを受信するようにExchangeサーバーがセットアップされているとします。 DNSにMXレコードが設定されており、GMailアカウントから送信すると正しく受信されます。ただし、@ example.comアカウントからメールを送信しようとすると、次のエラーが発生します。
Host or domain name not found. Name service error for name=exchange.example.com type=A: Host not found
Postfixは最初にローカルメールボックスをチェックし、ドメインで設定されている場合はローカルアカウントに配信すると思いますが、この場合、サブドメインアカウントは別のサーバーにあります。 Exchange.example.comメールボックスをローカルで検索しないように、Postfix内で何をする必要があるかについて誰かが考えていますか?
Postfix内にrelay_domainsディレクティブが見つかりましたが、サブドメインを追加しても修正されないようです。
ご協力いただきありがとうございます。
SMTPゲートウェイをセットアップしようとしていて、ExchangeServerを「外部」ネットワークに公開したくないようです。通常は、ドメインに適切なMXレコードを設定するだけだからです。
Postfixは、設計上、外部ドメインのメールを受け入れませんが、それが不可能な場合、postfixはpostfixにはなりません。たとえば、どの電子メールアドレスが有効であるかを接尾辞に伝えるなど、もう少し作業を行う必要があります(当然、サブドメインに対してこれを単独で判断することはできません)。ここでよく説明されています: http://www.knowplace.org/pages/howtos/smtp_gateway_for_multiple_domains_with_postfix.php
このエラーは、exchange.example.comがDNSに存在しないことを示しているようです。 postfixがExchangeサーバーを見つけるには、exchange.example.comドメイン名をIPアドレスに解決できる必要があるため、postfixはそれをどこにルーティングするかを認識しています。
リレードメインは確かに正しいパラメータですが、それだけではありません。
実行postconf parent_domain_matches_subdomains
そしてrelay_domainsが存在するかどうかを確認します。そうである場合は、main.cfに行を追加し、リストからrelay_domainsを削除します(またはオプションを完全に設定解除しますが、結果を理解していることを確認してください)。