私のメールサーバーはスパムブロックリストに登録されています。 postfixを再構成しました。これにより、お客様にこのエラーが発生して電子メールを送信できなくなります。
404 4.5.2 <PLLAMNAZIFE>: Helo command rejected: need fully-qualified hostname
Mail.logから:
postfix/smtpd[9853]: NOQUEUE: reject: RCPT from unknown[xx.xx.xx.xx]:
404 4.5.2 <PLLAMNAZIFE>: Helo command rejected: need fully-qualified hostname;
from=<[email protected]> to=<[email protected]> proto=ESMTP helo=<PLLAMNAZIFE>
私のmain.cfから:
# rules restrictions
smtpd_client_restrictions =
permit_sasl_authenticated
smtpd_helo_restrictions =
permit_mynetworks,
reject_non_fqdn_helo_hostname,
reject_invalid_helo_hostname,
permit
smtpd_sender_restrictions =
smtpd_recipient_restrictions =
permit_sasl_authenticated,
reject_unauth_pipelining,
reject_non_fqdn_recipient,
reject_unknown_recipient_domain,
permit_mynetworks,
reject_unauth_destination,
reject_invalid_hostname,
reject_non_fqdn_sender,
reject_unknown_sender_domain,
reject_rhsbl_client blackhole.securitysage.com,
reject_rhsbl_sender blackhole.securitysage.com,
reject_rbl_client zen.spamhaus.org,
reject_rbl_client bl.spamcop.net,
reject_rbl_client blackholes.easynet.nl,
reject_rbl_client cbl.abuseat.org,
reject_rbl_client proxies.blackholes.wirehub.net,
reject_rbl_client dnsbl.njabl.org
smtpd_helo_required = yes
unknown_local_recipient_reject_code = 550
disable_vrfy_command = yes
smtpd_data_restrictions = reject_unauth_pipelining
答え1
このエラーメッセージは、メールクライアントがHELO
SMTPトランザクションの/部分に完全修飾されたホスト名(「PLLAMNAZIFE.example.com」など)の代わりにデフォルトのホスト名(「PLLAMNAZIFE」)のみを送信し、Postfixサーバー設定を次のように送信するためEHLO
に発生します。 。そのようなメールを拒否してください。
HELO
多くのメールクライアントプログラムは、正規化された有効なホスト名を正しい形式で送信しませんEHLO
。有料の顧客からこれらのメールを受け取る必要があり、それらが使用するメールクライアントをほとんど制御できないため(そしてHELO
スキャンはスパムをブロックするのにあまり役に立たないため)、スキャンを無効にするのが最善ですHELO
。
チェックを無効にするには、HELO
Postfix設定から次の2行を削除します。
reject_non_fqdn_helo_hostname,
reject_invalid_helo_hostname,
より良い方法は、ルールsmtpd_helo_restrictions = ...
全体を削除し、smtpd_helo_required = yes
。
答え2
permit_sasl_authenticated
リストの拒否ルールの前にHELO制限を挿入して、認証されたユーザーのHELO制限をバイパスできますsmtpd_helo_restrictions
。
smtpd_helo_restrictions =
permit_mynetworks,
permit_sasl_authenticated,
reject_non_fqdn_helo_hostname,
reject_invalid_helo_hostname,
permit
答え3
メールサーバーのホスト名変数が無効です。
myhostname
/etc/postfix/main.cf
フィールド値をデフォルト値からホスト名(たとえば、yourwebsite.com
またはmail.yourwebsite.com
)に変更してみてください。
答え4
電子メールサーバーがクライアントを拒否するのではなく、外部SMTPサーバーはSMTPサーバーからのメールを拒否します。問題は、SMTPサーバーが他のサーバーと通信しているときにheloメッセージにFQDN名を送信しないことです。
この問題は通常、ホストファイルにパブリックIPを追加し、/ etc / hostsファイルにFQDNを追加することで解決できます。このように:
1.1.1.1 ホスト.ドメイン.com ホスト
127.0.0.2 ホスト.ドメイン.com ホスト
そのうち1.1.1.1が公式IPです。
私はこの問題に直面しており、DNSがパブリックIP上で順方向/逆方向に機能するのに役立ちません。ホスト名-fも正しいホスト名を返しました。 sendmailが実際に短いホスト名だけでなくFQDNも使用できるようにするには、IPとホスト名を/ etc / hostsに入力する必要があります。
ポート 25 を介してサーバーに Telnet 接続する場合は、行 220 にホストだけでなく FQDN も表示されていることを確認してください。このように:
220 host.domain.com ESMTP Sendmail 8.15.2/8.15.2/SuSE Linux 0.8 2018年7月9日月曜日 18:19:48 +0200