exim4がHELO / EHLOを送信する場合、送信するホスト名をどのように構成しますか?


12

受信サーバーがHELOチェックを行うと、システムからのメールが拒否されます。システムが間違ったドメイン名を送信していると思われます。exim4を実行しています。exim4とドメインに関するすべてをグーグルで検索すると、不適切な結果の悪夢のようなリストが生成されます。同様に、HELO拒否のグーグル検索では、SMTP認証をオンにする必要のある大勢のOutlookユーザーが生成されます。私の人生では、この単純な質問を理解することはできません:どのホスト名がeximから送信され、どのように変更するのですか?

残念ながら、eximがネットワーク経由で送信しているものを見ることができないため、これを自分でデバッグする方法はありません。私は誰かがこの問題を抱えていて、ただ知っていることを望んでいます:)。

回答:


15

エラーがHELO / EHLOデータについて不平を言っていると仮定すると、smtpトランスポートでhelo_dataオプションを使用する必要があります。デフォルトは$ primary_hostnameです。

remote_smtp:
    driver = smtp
    helo_data = host.example.com

詳細はマニュアルに記載されています

そうでない場合は、拒否メッセージの例を含めることができます。3桁のコードとその後の文字列だけです。


ありがとう!debianベースのシステムでexim4設定を変更する方法についてさらに10分間読んだ後、primary_hostnameを/etc/exim4/exim4.conf.templateのFQDNに設定し、exim4を再起動しました。それはトリックをしました!私のホスト名はFQDNとは異なり、minimal_dnsを使用していないため、元の問題です。さらに、手動リンクを変更することによってのみ、primary_hostnameでドキュメントを見つけることさえできました(eximはgoogle-trashedです!)。再度、感謝します!

あなたはおそらくそのファイルを更新したくないでしょう。update-exim4.conf --keepcommentsを実行してから/var/lib/exim4/config.autogeneratedを/etc/exim4/exim4.confにコピーし、そのファイルを変更することをお勧めします。
デビッドパシュリー


3

Debian(Lenny)では、ホスト名を設定している/etc/hostnameが、これは再起動するまで認識されないことがわかりました。

$ hostname newhostname

すぐに設定します(ただし、再起動すると失われるため、2つを実行する必要があります)。

exim4はと同じレポートをするuname -nようで、テストするのに便利な方法であることがわかりました。


2

eximはどのホスト名を送信していますか?

exim4のログでHELO名を見つけることができます。exim4デーモンを停止し、デバッグを有効にして手動で再起動します。

/usr/sbin/exim4 -bd -d+all 2>&1 | egrep 'HELO|EHLO'

(この2>&1|egrep 'HELO|EHLO'部分はオプションです。stderrをstdoutにリダイレクトし、ログをegrepにパイプするだけで、HELOまたはEHLOを含む行を除くすべてをフィルタリングします)。

電子メールを送信すると、次の形式で1行または2行になるはずです。

SMTP>> EHLO foobar.example.com

HELO名はfoobar.example.comです。

この情報を提供するいくつかの便利なオンラインチェックツール(および他の多くの便利なツール)もあります。

  • https://www.mail-tester.com(注意、1日につき無料のメールチェックは3回のみ);
  • check-auth@verifier.port25.com(無料);
  • mailtest@unlocktheinbox.com(フィードバックのほとんどは無料ではありませんが、この目的のために無料です)。

どうすれば変更できますか?

Davidが提案するようにトランスポートファイルを編集する代わりに、exim4定数定義(?)を使用して、名前を/etc/exim4/conf.d/main/00_local_settings(分割構成で)設定します。例:

REMOTE_SMTP_HELO_DATA=$sender_address_domain

update-exim4.confexim4を再起動する前に実行することを忘れないでください。

/etc/exim4/exim4.conf.templateでprimary_hostname […]を設定します

Davidが述べたように、これはおそらく最良のアイデアではありません。分割構成では、次を追加してプライマリホスト名を設定できます。

MAIN_HARDCODE_PRIMARY_HOSTNAME = subdomain.example.com

/etc/exim4/conf.d/main/00_local_settingsそうです、それは次のようになりPRIMARY_HOST_NAMEモノリシックのexim4の設定で。


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