送信ホストと中継ホストの両方で 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 マシンも同様で、電子メールの送信を停止しました。/etc/hosts を Suse マシンから
127.0.0.1 localhost proplad
proplad はマシンのホスト名で、エラーは消えました。一部のセキュリティ ポリシー (おそらく smtp サービスから) は、API を介して運ばれるホスト名情報を使用しているようです。これは、Ubuntu マシンの場合は無視されていましたが、Suse マシンの場合は無視されていました。これが他の人に役立ち、インターネットを介した膨大な時間の調査を回避できることを願っています.
qmailを使用して、この問題に遭遇しました。これは、以前にインストールが完了していないことが原因であることに気付きました。
1)電子メールを送信すると、qmailは「HELO ...」を使用して他のSMTPサーバーに自分自身をアナウンスし、次のファイルにあるものを追加します。/var/qmail/control/me
(ファイルがにある場合もあります/var/qmail/control/helohost
)
2)このファイルには、に有効なDNSエントリを持つホスト名が必要です。
私はそれを持っていなかったので(none)
、メールは送信されませんでした。
の引数HELO
は、ホスト名またはIPアドレスである必要があります。foo_bar.example.comはIPアドレスでもホスト名でもないため(ホスト名ではアンダースコアは無効です)、エラーメッセージは正しく、修正するものはありません。
ローカルの開発サーバーが (外部 SMTP を使用して) メールの送信を突然停止したことがわかり、サーバー ログで次のことを見つけました。
cpc96762-*******.net からの EHLO を拒否 [ . .**.68]: 構文的に無効な引数: 127.0.0.1:8888/app_dev.php
127.0.0.1:8888/app_dev.php は私のローカル URL です。Docker、Symfony、Swift Mailer を使用しています。
私の場合に役立った唯一の解決策は、パラメーターを追加することでした:
local_domain = "localhost"
私のSwift Mailer設定に。それはすべての問題を解決しました。
Swift Mailerlocal_domain
オプションのドキュメントを参照してください: https://symfony.com/doc/current/reference/configuration/swiftmailer.html#local-domain