Heloコマンドが拒否されました:完全修飾ホスト名エラーが必要です


10

私のメールサーバーがスパムのブラックリストの原因になっています。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=<info@domain.com> to=<mail@mail.com> 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

回答:


17

メールクライアントが、SMTPトランザクションのHELO/ EHLO部分とPostfixサーバーで完全修飾ホスト名(「PLLAMNAZIFE.example.com」など)ではなく、ベアホスト名(「PLLAMNAZIFE」)のみを送信しているため、このエラーメッセージが表示されます。このようなメールを拒否するように設定されています。

多くのメールクライアントプログラムは、正しい形式の完全修飾された有効なホスト名をHELO/に送信しませんEHLO。有料の顧客からのそのようなメールを受け入れる必要があり、顧客が使用するメールクライアントをほとんどまたはまったく制御HELOできないため(そして、スパムをブロックするのにチェックはあまり役に立たないため)、おそらくHELOチェックを無効にするのが最善です。

HELOチェックを無効にするには、Postfix設定から次の2行を削除します。

    reject_non_fqdn_helo_hostname,
    reject_invalid_helo_hostname,

さらに、smtpd_helo_restrictions = ...ルール全体とを削除しますsmtpd_helo_required = yes


ありがとうございました。私はその行を無効にして、それが現在機能しています。PCでMozilla thunderbirdを使用して送信できます。しかし、私の顧客は自分のPCでOutlookを使用してメールを送信できません。 HELOチェック構成でこの問題を解決する方法はありますか?
RedLEON 2013

heloチェックを削除しても顧客がメールを送信できない場合は、メールログの拒否理由が異なる他の問題である可能性があります。
cas

彼らは今送ることができます。しかし、サーバーを安全に構成したい
RedLEON

2
heloチェックがセキュリティを強化すると思いますか?
cas

8

リストpermit_sasl_authenticated内のルールを拒否する前に挿入することにより、認証済みユーザーのHELO制限をバイパスできsmtpd_helo_restrictionsます。

smtpd_helo_restrictions =
    permit_mynetworks,
    permit_sasl_authenticated,
    reject_non_fqdn_helo_hostname,
    reject_invalid_helo_hostname,
    permit

1

メールサーバーのホスト名変数が無効です。

myhostnameフィールドの/etc/postfix/main.cf値をデフォルト値からホスト名(yourwebsite.comまたはなどmail.yourwebsite.com)に変更してみてください


0

これを解決するために私は年齢を取りました

CentOSサーバーを実行していて、エラーを報告するメールが返送されてきました。 "Heloコマンドが拒否されました:完全修飾ホスト名が必要です"

VPSサーバーの「exim構成マネージャー」、「ドメインとIPS」の下にある「送信SMTP HELO [?]のリファレンス/ etc / mailhelo」を有効にしてしまいました

次に、パテを使用してサーバーにリモート接続し、このコマンド「sudo nano / etc / mailhelo」を実行しました

そのファイルで、ドメインexample.com:example.com sub.example.com:example.com example.net:example.net addon.example.net:example.net *:hostname.example.comを作成しました

http://docs.cpanel.net/twiki/bin/view/AllDocumentation/WHMDocs/EximDifferentIpsによる

メールの送信をテストしましたが、これまでのところ問題はありません


0

クライアントを拒否するのは電子メールサーバーではなく、SMTPサーバーからのメッセージを拒否する外部のSMTPサーバーです。問題は、SMTPサーバーが他のサーバーと通信するときにheloメッセージでFQDN名を送信しないことです。

これは通常、/ etc / hostsファイルにFQDNを含むホストファイルにパブリックIPを追加することで解決できます。このような:

1.1.1.1 host.domain.comホスト

127.0.0.2 host.domain.comホスト

ここで、1.1.1.1は公式IPです。

私はこの問題を抱えていて、DNSがパブリックIPでフォワード/リバースの両方の方法で機能していて、/ etc / resolv.confに自分のネームサーバーしかなかったので役に立ちませんでした。ホスト名-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


0

サーバーに「しゃっくり」がある場合があります。たとえばメール攻撃が原因です。

まず、サーバーを再起動してください。サーバーのメールを15秒後にオフにしてからオンにしてください。

メールが新しいウイルス対策定義を読み込めないことが原因で、HELOコマンドが拒否されることがあります。Appleサーバーで使用されるAmaVisのように。サーバーのメールアプリを再起動してオン/オフすると、この問題は解決します。乾杯。


0

を実行すると、ドメイン以外の名前が表示されましたhostname -f。したがって、「ホスト名-f」でドメインを検索しませんでした/etc/hostname問題を解決するために編集する必要があることがわかりました(私はDebianを使用しています)。両方のその後hostname -fhelo完全修飾ホスト名を使用していました。


0

無効なホスト名でHELOを拒否したいが、クライアントがHELOでFQDNを送信しない場合でもユーザーが送信できるようにするには、これらの行をそのままにしておくことができます。

reject_non_fqdn_helo_hostname,
reject_invalid_helo_hostname,

ただし、これらの前に次のことを確認してください。

permit_sasl_authenticated,

このようにして、ユーザーの1人が認証すると、HELOコマンドの有効性に関係なく、ユーザーはメールの送信を許可され、認証されていない接続のみがメールを中継します。すべてのユーザーに認証を要求するのは当然ですよね?)

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.