メッセージの再試行、再送信、および有効期限の間隔の管理

 

適用先: Exchange Server 2007 SP3, Exchange Server 2007 SP2, Exchange Server 2007 SP1, Exchange Server 2007

トピックの最終更新日: 2006-10-30

Microsoft Exchange Server 2007 を実行していて、ハブ トランスポート サーバーの役割かエッジ トランスポート サーバーの役割がインストールされているコンピュータには、キュー、送信コネクタ、および受信コネクタが含まれています。キューは、配信される必要のあるメッセージを保持します。コネクタは、メッセージを配信するための受信パスまたは送信パスを確立します。

正常に配信できなかったメッセージは、メッセージの送信元と送信先に基づくさまざまな再試行、再送信、および有効期限に従います。再試行は、送信先ドメイン、スマート ホスト、またはメール サーバーとの、更新された接続試行です。再送信は、カテゴライザが再処理するように、送信するメッセージを発信キューに戻す操作です。指定した期間内のすべての配信試行が失敗した後、そのメッセージは "タイムアウト"、つまり有効期限が切れたと表現します。メッセージの有効期限が切れると、送信者には配信エラーが通知されます。次に、メッセージはキューから削除されます。

再試行、再送信、または有効期限切れの 3 つのどの場合についても、そのメッセージに対して自動的な操作が実行される前に手動で介入することができます。

メッセージの再試行の構成オプション

トランスポート サーバーが次のホップに接続できないと、キューの状態は "再試行" となります。接続試行は、キューの有効期限が切れるか、接続が確立されるまで繰り返し行われます。

メッセージの自動再試行の構成オプション

表 1 は、メッセージの再試行の間隔に使用できる構成オプションを説明したものです。

表 1   メッセージの再試行の間隔に使用できる構成オプション

パラメータ名 既定値 構成する場所 説明

QueueGlitchRetryCount

4

EdgeTransport.exe.config

このパラメータには、トランスポート サーバーが送信先サーバーに接続できない場合に、直ちに試行する接続試行の回数を指定します。そのような接続エラーは通常、きわめて短時間のネットワークの停止が原因で起こります。一般に、ネットワークの信頼性が低く、接続の切断が意図せず何度も発生する状態が続いているのではない限り、このパラメータを変更する必要はありません。

QueueGlitchRetryInterval

1 分

EdgeTransport.exe.config

このパラメータは、QueueGlitchRetryCount パラメータで指定した各接続試行を行う接続の間隔を制御します。一般に、ネットワークの信頼性が低く、接続の切断が意図せず何度も発生する状態が続いているのではない限り、このパラメータを変更する必要はありません。

TransientFailureRetryCount

6

Exchange 管理シェルの Set-TransportServer コマンドレットまたはトランスポート サーバーのプロパティです。

このパラメータには、QueueGlitchRetryCount パラメータと QueueGlitchRetryInterval パラメータで制御される接続試行が失敗した後で試行する、接続試行の回数を指定します。QueueGlitchRetry パラメータをすべて使用した接続エラーは、サーバーの再起動やキャッシュされた DNS 参照の失敗などが原因で起こることがあります。

TransientFailureRetryInterval

  • ハブ トランスポート サーバー : 5 分
  • エッジ トランスポート サーバー : 10 分

Exchange 管理シェルの Set-TransportServer コマンドレットまたはトランスポート サーバーのプロパティです。

このパラメータでは、TransientFailureRetryCount パラメータに指定された接続試行の間隔を制御します。

OutboundConnectionFailureRetryInterval

  • ハブ トランスポート サーバー : 10 分
  • エッジ トランスポート サーバー : 30 分

Exchange 管理シェルの Set-TransportServer コマンドレットまたはトランスポート サーバーのプロパティです。

このパラメータには、前に失敗した送信接続の再試行の間隔を指定します。以前に失敗した接続試行は、TransientFailureRetryCount パラメータと TransientFailureRetryInterval パラメータによって制御されます。

MessageRetryInterval

1 分

Set-TransportServer コマンドレット

このパラメータには、"再試行" の状態を持つ個々のメッセージに対する再試行の間隔を指定します。Microsoft 製品サポート サービスから指示があった場合を除き、既定値を変更しないことをお勧めします。

MailboxDeliveryQueueRetryInterval

5 分

EdgeTransport.exe.config

このパラメータは、ハブ トランスポート サーバー間のメールボックス配信キューに対する再試行の間隔を制御します。

EdgeTransport.exe.config ファイルは、EdgeTransport.exe ファイルと関連付けられた、XML アプリケーション構成ファイルです。EdgeTransport.exe と MSExchangeTransport.exe は、Microsoft Exchange Transport サービスによって使用される実行可能ファイルです。このサービスは、すべてのハブ トランスポート サーバーまたはエッジ トランスポート サーバーで実行されます。EdgeTransport.exe.config ファイルに保存された変更内容は、Microsoft Exchange Transport サービスが再起動した後で適用されます。

EdgeTransport.exe.config ファイル構造の基本的な例を次に示します。

<configuration>

<runtime>

<gcServer enabled="true" />

</runtime>

<appSettings>

<add key=" 構成オプション " value=" " />

...

</appSettings>

</configuration>

<appSettings> セクションは、新しい構成オプションを追加したり、既存の構成オプションを変更したりできる場所です。メッセージの再試行、再送信、および有効期限の間隔とはまったく関係のない、多くの構成オプションを使用できます。これらの間隔とは関係のない構成オプションはすべて、このトピックの範囲外です。ここでは説明しません。

note注 :
<add key=../> セクションのパラメータ名は、大文字と小文字を区別します。

詳細については、「メッセージの再試行、再送信、および有効期限の間隔を構成する方法」を参照してください。

メッセージの手動再試行の構成オプション

メールボックス配信キューまたはリモート配信キューの状態が "再試行" の場合、Exchange 管理コンソールのキュー ビューアまたは Exchange 管理シェルの Retry-Queue コマンドレットを使用して、手動で直ちに接続を試行することができます。手動による再試行は、次に予定されている再試行より優先されます。接続に失敗すると、再試行の間隔がリセットされます。この操作を有効にするには、配信キューの状態が "再試行" である必要があります。

詳細については、「キューを再試行する方法」を参照してください。

遅延 DSN 通知メッセージの構成オプション

メッセージの配信が失敗するたびに、エッジ トランスポート サーバーまたはハブ トランスポート サーバーは遅延配信状態通知 (DSN) メッセージを生成し、未配信のメッセージの送信者に配信できるようにキューに格納します。この遅延 DSN メッセージは、指定した遅延通知タイムアウト間隔が経過しても、その間に失敗したメッセージを配信できなかった場合にのみ送信されます。既定では、遅延通知タイムアウト間隔は 4 時間です。この遅延によって、一時的なメッセージ転送障害による不要な遅延 DSN メッセージの送信を防ぐことができます。遅延 DSN 通知メッセージの送信は、Exchange 組織の内部または外部から送信されたメッセージごとに選択的に有効または無効にすることができます。

表 2 は、遅延 DSN 通知メッセージに使用できる構成オプションを説明したものです。

表 2   遅延 DSN 通知メッセージに使用できる構成オプション

パラメータ名 既定値 場所 説明

DelayNotificationTimeOut

4 時間

Set-TransportServer

このパラメータには、サーバーが遅延 DSN メッセージをメッセージの送信者に送信するまでの待機時間を指定します。このパラメータの値は、TransientFailureRetryCount パラメータの値に TransientFailureRetryInterval の値を掛けた値よりも常に大きくなっている必要があります。

ExternalDelayDSNEnabled

$True

Set-TransportServer

このパラメータには、Exchange 組織の外部にいるメッセージ送信者に遅延 DSN メッセージを送信できるかどうかを指定します。

InternalDelayDSNEnabled

$True

Set-TransportServer

このパラメータには、Exchange 組織の内部にいるメッセージ送信者に遅延 DSN メッセージを送信できるかどうかを指定します。

詳細については、「メッセージの再試行、再送信、および有効期限の間隔を構成する方法」を参照してください。

メッセージの再送信の構成オプション

メッセージの再送信によって、未配信のメッセージが発信キューに戻され、カテゴライザによって再処理されます。

メッセージの自動再送信

配信キューの状態が "再試行" で、指定した期間内にメッセージをまったく配信できなかった場合、未配信のメッセージは自動的に再送信されます。その期間は、EdgeTransport.exe.config アプリケーション構成ファイルの MaxIdTimeBeforeResubmit パラメータによって制御されます。既定では、MaxIdTimeBeforeResubmit パラメータの値は 12 時間です。メールボックス配信キューかリモート配信キューにあるメッセージのみ、自動再送信の対象となります。

詳細については、「メッセージの再試行、再送信、および有効期限の間隔を構成する方法」を参照してください。

メッセージの手動再送信

ハブ トランスポート サーバーかエッジ トランスポート サーバーで次の状態にあるメッセージは、手動で再送信できます。

  • メールボックス配信キューまたはリモート配信キューの状態が "再試行" のメッセージです。キュー内のメッセージを "中断" 状態にすることはできません。
  • 到達不能キュー内にあり、"中断" 以外の状態にあるメッセージです。
  • 有害メッセージ キュー内にあるメッセージです。

有害メッセージ キューと到達不能キューの詳細については、このトピックの「有害メッセージ キューと到達不能キューについて」を参照してください。

メールボックス配信キュー、リモート配信キュー、到達不能キューのいずれかにあるメッセージを、MaxIdleTimeBeforeResubmit パラメータで指定した時間を待たずに手動で再送信する場合は、Resubmit パラメータを設定して Retry-Queue コマンドレットを使用する必要があります。有害メッセージ キューにあるメッセージを手動で再送信するには、キュー ビューアまたは Resume-Message コマンドレットを使用して、メッセージを再開することができます。

詳細については、以下のトピックを参照してください。

メッセージを手動で再送信するその他の方法は、メッセージを中断し、そのメッセージを .eml ファイル名拡張子を持つテキスト ファイルにエクスポートし、その .eml ファイルを任意のハブ トランスポート サーバーかエッジ トランスポート サーバーにある再生ディレクトリにコピーすることです。この再送信方法は、メールボックス配信キュー、リモート配信キュー、到達不能キューのいずれかにあるメッセージについて有効です。有害メッセージ キューにあるメッセージは、既に "中断" 状態です。発信キューにあるメッセージを中断したり、エクスポートしたりすることはできません。

note注 :
メッセージをキューからエクスポートした場合、メッセージはキューから削除されません。メッセージをエクスポートし、再生ディレクトリを使用してそれらを正常に再送信した後で、メッセージの重複配信を避けるために、中断されたメッセージを削除する必要があります。

詳細については、「メッセージをエクスポートおよび再送信する方法」を参照してください。

メッセージの有効期限の構成オプション

メッセージの有効期限のタイムアウト間隔には、エッジ トランスポート サーバーまたはハブ トランスポート サーバーが失敗したメッセージの配信を試みる最長時間を指定します。有効期限のタイムアウト間隔が経過する前にメッセージを正常に配信できない場合は、元のメッセージまたはメッセージ ヘッダーを含む配信不能レポート (NDR) が送信者に配信されます。

メッセージの有効期限の自動設定

メッセージの有効期限のタイムアウト間隔は、Exchange 管理シェルの Set-TransportServer コマンドレットまたはトランスポート サーバーのプロパティの MessageExpirationTimeOut パラメータによって制御されます。既定では、MessageExpirationTimeOut パラメータの値は 2 日間です。

詳細については、以下のトピックを参照してください。

メッセージの有効期限の手動設定

メッセージの有効期限を手動で失効させることはできませんが、NDR を使用するかどうかに関係なく、発信キュー以外の任意のキュー内のメッセージを手動で削除することができます。

詳細については、「キューからメッセージを削除する方法」を参照してください。

有害メッセージ キューと到達不能キューについて

カテゴライザは、メッセージの送信先に未知のルートがあると、そのメッセージを到達不能キューに送信します。通常は、配達不能の送信先は、配信パスに影響を及ぼすような構成エラーによって起こります。たとえば、次の条件が当てはまる場合、メッセージは配達不能キューに送信されます。

  • "Contoso.com" リモート配信キューにメッセージがある。
  • Contoso.com ドメインへのアクセスに使用している送信コネクタを削除した。

既定では、配達不能キュー内のメッセージの状態は "準備完了" です。配達不能キュー内のメッセージは決して自動的には再送信されません。管理者によって手動で再送信されたり、削除されたり、または MessageExpirationTimeOut パラメータで指定した時間が過ぎたりしない限り、メッセージは配達不能キュー内に残ります。

有害メッセージ キューには、サーバーのエラー発生後に Exchange 2007 サーバーに対して有害の可能性があると判断されたメッセージが含まれています。メッセージは、その内容と形式自体が有害であることがあります。または、適切に記述されていないエージェントの結果として、Exchange サーバーが無効と想定されるメッセージを処理したときに失敗することもあります。有害メッセージ キュー内のメッセージはすべて、永続的に "中断" 状態です。有害メッセージ キューのメッセージは、Resubmit パラメータを設定した Retry-Queue コマンドレットを使用して再送信することはできません。有害メッセージ キュー内のメッセージを再送信するには、キュー ビューアまたは Resume-Message コマンドレットを使用して、メッセージを再送信することができます。有害メッセージ キュー内のメッセージは決して自動的に再開されたり、有効期限が切れたりすることはありません。管理者によって手動で再開されたり、削除されたりしない限り、メッセージは有害メッセージ キュー内に残ります。

詳細情報

キューの詳細については、「キューの管理」を参照してください。

参照している情報が最新であることを確認したり、他の Exchange Server 2007 ドキュメントを見つけたりするには、Exchange Server TechCenter を参照してください。