Postfix設定確認受信者

Postfix設定確認受信者

Ubuntu 16でPosfix EメールSMTPサーバーを設定しましたが、動作しています。以前は、ホスティング会社のSMTPサーバーを使用していましたが、独自のサーバーを使用することを好みました。

Java Mailを使用して電子メールを送信していますが、違いは、ホスティング会社を介して送信するときに受信者アドレスが間違っている場合は、次のメッセージが表示されることです。

com.sun.mail.smtp.SMTPAddressFailedException: 450 4.1.2: 受信者アドレスが拒否されました: ドメインが見つかりません

ただし、Postfixを使用して送信すると例外は発生しません。 Postfixログを確認しましたが、メッセージは次のとおりです。

処置:失敗ステータス:5.4.4診断コード:X-Postfixホストまたはドメインが見つかりません。ネームサービスエラー[Eメール保護]タイプ=AAAA: ホストが見つかりません。

ただし、これはJava例外に伝播されません。

同じ動作を示すようにPostfixを設定する方法を知っている人はいますか?

ありがとう、ヒューゴ

答え1

reject_unknown_recipient_domainプーチンsmtpd_recipient_restrictions 今後 permit_mynetworkspermit_sasl_authenticatedおよび/またはpermit_tls_clientcerts

reject_unknown_sender_domain設定に欠落しているか以前permit_*に存在するreject_unknown_sender_domain場合、Postfixは許可ルールに一致するすべてのクライアント送信者が受信者ドメインを確認せずに電子メールを送信できるようにします。 Postfix は着信メールを受信して​​キューに入れ、メールを配信しようとするとドメインが存在しないことを確認し、メールを返送します。

最初に発生した場合は、reject_unknown_sender_domainルールが一致するかどうかにかかわらず、すべてのクライアントを確認し、permit_*5xxコードで電子メールを拒否します。

サフィックスでは、ルールの順序は常に重要です。

例:

次の場合main.cf

smtpd_recipient_restrictions = check_sender_access hash:/etc/postfix/junk,
  check_client_access hash:/etc/postfix/junk,
  check_helo_access hash:/etc/postfix/junk,
  reject_unauth_pipelining,
  permit_tls_clientcerts,
  permit_sasl_authenticated,
  permit_mynetworks

reject_unknown_recipient_domain行の前のどこかに追加してくださいpermit。たとえば、次のようになります。

smtpd_recipient_restrictions = check_sender_access hash:/etc/postfix/junk,
  check_client_access hash:/etc/postfix/junk,
  check_helo_access hash:/etc/postfix/junk,
  reject_unauth_pipelining,
  reject_unknown_recipient_domain,
  permit_tls_clientcerts,
  permit_sasl_authenticated,
  permit_mynetworks

smtpd_recipient_restrictionsまだルールがない場合は追加してください。たとえば、次のようになります。

smtpd_recipient_restrictions = reject_unauth_pipelining,
  reject_unknown_recipient_domain,
  permit_mynetworks

ただし、postfix設定についてさらに調査する必要があります。

関連情報