エッジ トランスポート サーバーでの不可解なメール ループ: サイズ制限の確認を

原文の記事の投稿日: 2013 年 3 月 29 日 (金曜日)

私は CSS のサポート エンジニアで、特定のドメイン (たとえば contoso.com) でメール ループ エラーに遭遇したお客様のサポートをしていました。このエラーは大容量のメールでのみ発生するという実に不可解なエラーですが、とうとう、送信コネクターのサイズ制限がループ エラーの原因になっていることを突き止めました。珍しいケースなので共有しておく必要があると考えました。

問題の構成と根本原因について

最初私は、エッジ サーバーが外部の DNS サーバー (外部ホストを解決する DNS サーバー) を使用するように構成されているのが原因ではないかと考えました。通常、エッジ トランスポート サーバーが外部 DNS を使用するように構成されている場合は、ドメイン ネームを、Active Directory サイトのハブ トランスポート サーバーではなく、パブリック IP アドレスに解決します (一般に、サーバー自身、外部ファイアウォール、またはサービス プロバイダーをポイントします)。これがメール ループの原因になるのです。

問題を再現しているうちに、エッジ トランスポート サーバーが外部 DNS サーバーを使用するように構成されていないことに気がつきました。問題再現のために私がセットアップした環境は、下図のとおりです。

clip_image002

 

このシナリオは、次のように進みます。インターネットの送信者から 20 MB のメールを受け取ったエッジ トランスポート サーバーは、それを受理します。エッジ トランスポート サーバーには、そのアドレス スペースに一致するコネクタが 2 つあります。Active Directory サイトへのアドレス スペース contoso.com 用のコネクタと、アドレス スペース * 用のコネクタです。使用できるすべてのコネクタを基にルーティングを決定する場合、エッジからハブまでのコネクタは、サイズ制限のために考慮の対象になりません (10 MB のサイズ制限があります)。この条件に最もよく適合するのはエッジからインターネットまでの * コネクタ (「メッセージ ルーティングについて」に記載されているコネクタ選択アルゴリズムを参照) で、このメッセージ サイズ制限は 30 MB です。

最終結果: メッセージはインターネットに戻され、インターネットとエッジ サーバーの間でメッセージ ループが発生します。

インターネットへの送信コネクタが、送信メールの配信に DNS を使用するように構成されているか、スマート ホストを使用するように構成されているかによって、次の NDR のどちらかを受け取ることになります。

DNS を使用する場合:

#554 5.4.4 SMTPSEND.DNS.MxLoopback; DNS records for this domain are configured in a loop ##

スマート ホストを使用する場合:

5.4.6 smtp;554 5.4.6 Hop count exceeded - possible mail loop> #SMTP#

解決策

この動作は意図されたものなので、コネクタ上でメッセージ サイズの制限を変更することにより、簡単に修正できます。必要に応じて、次のオプションのどちらかを選択してください。

  • 受信コネクタ (インターネットからの受信メールを受け取るコネクタ) の MaxMessageSize パラメーターを 10MB に設定して、インターネットからのメールのサイズを 10 MB に制限する。
  • エッジからハブまでの送信コネクタの MaxMessageSize を 30MB に設定して、外部の送信者から 30 MB のメッセージを受信できるようにする。

これで解決です。このブログ執筆に協力してくれた Arindam Thokder と Scott Landry に感謝します。

Suresh Kumar (XCON)

これはローカライズされたブログ投稿です。原文の記事は、「Mysterious mail loop on Edge Transport server: Check your size limits!」をご覧ください。