Windows Server 2019を使用して新しい専用サーバーをセットアップしています。WindowsServer 2008 R2に基づく古いサーバーを置き換えます。組み込みのSMTPサーバーを古いサーバーで問題なく実行しました。新しいサーバーをSMTPサーバーとしても機能するように設定し、古いサーバーを設定したときの自分のメモを使用して、オンラインで指示を再確認しました。基本的にここの指示に従って:
http://www.vsysad.com/2017/05/install-and-configure-smtp-server-on-windows-server-2016/
私が抱えている問題は、電子メールがC:\ inetpub\mailroot\Queueを離れず、受信者に届かないことです。 Windowsイベントログには、次の警告が含まれています。
イベント4006、smtpsvc
「ホスト '204.79.197.212'へのメッセージ配信は、リモートドメイン 'hotmail.com'への配信中に次の理由で失敗しました:リモートサーバーが接続試行に応答しませんでした。
上記はHotmail宛先アドレスを使用した例にすぎません。他のドメインのアドレスに送信しようとすると、同じ種類のメッセージが受信されます。
私が試したこと:
上記の最後の項目は、興味深いことに気付きました。つまり、イベント4006メッセージにリストされているIPアドレスは、MXレコードにリストされているIPアドレスの1つではないということです。これは、実際のhotmail.comドメインのIPアドレスです。では、なぜMXレコードにリストされているアドレスの1つではなくhotmail.comに接続しようとしているのですか?
さらに調査するために、Telnetを使用して自分のドメインの1つにある電子メールに送信しました。案の定、私は4006イベントをログに見つけて言っています:
「次の理由により、リモートドメイン '[マイドメイン]'への配信中に、ホスト '[マイドメインのIP]'へのメッセージ配信が失敗しました:リモートホストによって接続がドロップされました。」
SMTPサーバーがMXレコードで指定されたアドレスではなく、ドメインのIPとポート25に接続しようとしているようです。
これは私がやってきた限りです。多分私はここで何かを誤解しているかもしれませんが、WindowsのSMTPサーバーがポート25で直接電子メールアドレスのドメインに接続しようとしているようです(MXレコードを無視します)...またはおそらくこれをトラブルシューティングする方法を教えてください。
EDIT:回避策と問題の原因を発見しました。以下の私の答えを参照してください。
私はこの問題の調査を続けており、Windows Server 2019のバグであると信じています。実際に回避策を見つけ、これを再現する方法100%確実な問題。
SMTPサービスのスタートアップの種類が[自動]に設定されている(つまり、起動時にすぐに開始する)場合、メールは正しく送信されません。ただし、SMTPサービスを手動で開始するように設定し、services.mscまたはIIS6マネージャーから手動で開始した場合、電子メールはキューを離れて受信者に配信されます。
サービスに「自動」起動が使用されている場合、電子メールを送信しようとすると、常に電子メールがキューでスタックし、イベント4006(詳細については最初の投稿を参照)がイベントログに書き込まれます。これは私のテストで100%再現可能です。
回避策は、スタートアップの種類を「自動(遅延開始)」に設定することです。これにより、正しく通知された場合、最後の「自動」サービスが開始されてから2分後にSMTPサービスが開始されます。これは最適なソリューションではありませんが、当面は有効です。
完全を期すために、ここでは問題を再現するための段階的な手順を示します:
注:問題を再現するためにステップ2から6はおそらく必要ありませんが、これは私が使用してきた基本的なセットアップです。