「501 構文的に無効な HELO 引数」を修正するにはどうすればよいですか?
質問
送信ホストと中継ホストの両方で exim を使用しています。送信ホストは次のことを提供しているようです。
HELO foo_bar.example.com
応答:
501 Syntactically invalid HELO argument(s)
解決
おそらくホスト名のアンダースコアに問題があるのでしょうか?http://www.exim.org/lurker/message/20041124.113314.c44c83b2.en.html
他のヒント
アンダースコアを使用している人もいますが、実際にはインターネットのホスト名ではアンダースコアは有効ではありません。正常な DNS サーバーでは、それらのレコードを保持することはできません。
システムのホスト名を有効になるように変更します。これで問題が解決することを願っています。
この問題の解決に何時間も費やした後、私の場合は何もないところから思いついた問題でしたが、最終的に解決策を見つけました。私の場合、Suse OS にデプロイされたシステムのみが突然電子メールの送信を停止しましたが、Ubuntu で実行されている (同じ) システムでは停止しませんでした。提案されたものをすべて徹底的に排除した後、 可能性 この問題を解決し、それらのマシンの OS を変更することも検討しましたが、どういうわけか電子メール送信サービスがホスト マシンのホスト名を考慮していることがわかりました。Ubuntu マシンでは、ファイル /etc/hosts には次の行のみが含まれます。
127.0.0.1 localhost
Suse マシンも同様で、電子メールの送信を停止しました。Suse マシンの /etc/hosts を編集した後、
127.0.0.1 localhost proplad
proplad がマシンのホスト名である場合、エラーは消えました。一部のセキュリティ ポリシー (おそらく smtp サービスからのもの) が API を通じて伝達されるホスト名情報を使用しているようです。Ubuntu マシンの場合は無視されていましたが、Suse マシンの場合は無視されませんでした。これが他の人にとってインターネット上での膨大な時間の調査を回避するのに役立つことを願っています。
Diago の答えは、私が理解しようとしていた問題を解決するのに役立ちました。
Suse OS も突然動作を停止しました。こことGoogleで見つけたすべての提案を試しました。何も機能しませんでした。ドメインを etc/hosts に追加しようとしましたが、役に立ちませんでした。
hostnameコマンドでサーバーのホスト名を取得します。Digao が提案したように、そのホスト名を etc/hosts ファイルに追加しました。
127.0.0.1 localhost susetest
変更を保存し、postfix stop、postfix startを実行しました。そして今では魅力的に機能します。
に対する議論 HELO
ホスト名または IP アドレスにする必要があります。foo_bar.example.com は IP アドレスでもホスト名でもありません (ホスト名にアンダースコアは使用できません)。そのため、エラー メッセージは正しく、修正する必要はありません。
qmail を使用していると、この問題に遭遇しました。これは、以前に完了していないインストールが原因であることがわかりました。
1) 電子メールを送信するとき、qmail は他の SMTP サーバーに「HELO ...」で自分自身を通知し、ファイル内の内容を次の場所に追加します。 /var/qmail/control/me
(ファイルが次の場所にある場合もあります) /var/qmail/control/helohost
)
2) このファイルには、有効な DNS エントリを含むホスト名が含まれている必要があります。
私のものはありませんでした (none)
そのため、メールの送信に失敗していました。