トランスポート キューについて
適用先: Exchange Server 2010 SP2, Exchange Server 2010 SP3
トピックの最終更新日: 2015-03-09
ここでは、MicrosoftExchange Server 2010 でのキューの概要、および管理者が実行できるキュー管理タスクについて説明します。
トランスポート サーバーの管理に関連する管理タスクについては、「トランスポート サーバーの管理」を参照してください。
目次
概要
キュー データベース ファイル
キューの管理
メッセージの再試行、再送信、および有効期限の間隔
概要
キューは、次の処理段階に移るのを待っているメッセージが一時的に保持されている場所です。各キューは、トランスポート サーバーが特定の順序で処理するメッセージの論理的なセットを表します。
Exchange 管理シェルとキュー ビューアーは、キューに関する 2 種類の操作をサポートします。これらのインターフェイスを使用すると、キューの状態と内容、および詳細なメッセージ プロパティを表示できます。また、キューまたはキューのメッセージを変更する操作を実行することもできます。
Exchange 2010 は、Extensible Storage Engine (ESE) データベースを使用してキューを格納します。以前は JET と呼ばれていた ESE は、Exchange の基本的なデータベース構造に対する下位レベルの API を定義する手段です。
インターネットとの間で送受信されるメッセージは、エッジ トランスポート サーバーの役割がインストールされているコンピューターでキューに入れられます。Exchange 2010 組織内の送信中のメッセージは、ハブ トランスポート サーバーの役割がインストールされているコンピューターでキューに入れられます。
キューの種類
メッセージのルーティングにより、メッセージが格納されるキューの種類が決まります。Exchange 2010 で使用されるキューの種類は次のとおりです。
送信キュー トランスポート エージェントが解決し、ルーティングして、処理する必要のあるすべてのメッセージを収集するためにカテゴライザーが使用する永続キューです。カテゴライザーは、Exchange トランスポートのコンポーネントで、すべての受信メッセージを処理し、指定された受信者に関する情報に基づいてメッセージに対する処理を決定します。Exchange 2010 では、エッジ トランスポート サーバーは、カテゴライザーを使用してメッセージを適切な宛先にルーティングします。ハブ トランスポート サーバーは、カテゴライザーを使用して、配布リストを拡張し、代替受信者と転送アドレスを識別します。カテゴライザーは、受信者に関する情報をすべて取得した後、その情報を使用して、ポリシーを適用し、メッセージをルーティングして、コンテンツの変換を行います。
トランスポート サーバーによって受信されたすべてのメッセージは、送信キューでの処理に入ります。メッセージは、受信コネクタ、ピックアップ ディレクトリ、またはストア ドライバーを通して送信されます。このキューからメッセージを取得したカテゴライザーが行う処理の中には、受信者の場所の特定と、その場所へのルーティングがあります。分類の後、メッセージは配信キューまたは到達不能キューに移されます。各 Exchange 2010 トランスポート サーバーが備える送信キューは 1 つだけです。送信キューに入れられたメッセージは、同時に他のキューに存在することはできません。
メールボックス配信キュー メールボックス配信キューは、暗号化された Exchange RPC を使用してメールボックス サーバーに配信されているメッセージを保持します。メールボックス配信キューは、ハブ トランスポート サーバーにのみ存在します。メールボックス配信キューは、ハブ トランスポート サーバーと同じサイトにあるメールボックス サーバーにメールボックス データが格納されているメールボックス受信者に対して配信されるメッセージを保持します。1 つのハブ トランスポート サーバーに、複数のメールボックス配信キューが存在できます。メールボックス配信キューに対する次のホップは、メールボックス ストアの識別名です。
リモート配信キュー リモート配信キューは、SMTP を使用してリモート サーバーに配信されるメッセージを保持します。リモート配信キューはハブ トランスポート サーバーとエッジ トランスポート サーバーの両方に存在でき、サーバーごとに複数のリモート配信キューが存在してもかまいません。各リモート配信キューには、配信先が同じ受信者にルーティングされるメッセージが含まれます。エッジ トランスポート サーバーでは、宛先は外部の SMTP ドメインまたは SMTP コネクタです。ハブ トランスポート サーバーでは、宛先はそのハブ トランスポート サーバーが存在する Active Directory サイトの外部になります。リモート配信キューは、必要になると動的に作成され、保持しているメッセージがなくなって構成可能な有効期限が経過すると、サーバーから自動的に削除されます。既定では、リモート配信キューは最後のメッセージがなくなってから 3 分後に削除されます。リモート配信キューに対する次のホップは、SMTP ドメイン名、スマート ホストの名前か IP アドレス、または Active Directory サイト名です。
有害メッセージ キュー 有害メッセージ キューは、サーバー エラーの後で Exchange 2010 システムに対して有害である可能性があることが検出されたメッセージを分離するために使用される特別なキューです。Exchange システムにとって致命的である可能性があるエラーを含むメッセージは、有害メッセージ キューに配信されます。このキューは通常は空で、有害メッセージがない場合には、このキューはキュー表示インターフェイスに表示されません。有害メッセージ キューは、常に準備完了状態になっています。既定では、このキューのメッセージはすべて中断状態です。システムにとって有害であると考えられるメッセージは削除できます。有害メッセージ キューにメッセージが入る原因となったイベントが、メッセージと無関係であることが判明した場合は、メッセージの配信を再開できます。配信を再開すると、メッセージは送信キューに入ります。
到達不能キュー 各トランスポート サーバーは、1 つだけ到達不能キューを持つことができます。到達不能キューには、送信先にルーティングできないメッセージが格納されます。通常、到達不能の送信先が発生する原因は、構成の変更により、配信用のルーティング パスが変更されるためです。送信先に関係なく、受信者に到達できないメッセージはすべてこのキューに格納されます。
次の表に、ハブ トランスポート サーバーまたはエッジ トランスポート サーバー上に存在するキューと、それらの特性を一覧で示します。
ハブ トランスポート サーバーまたはエッジ トランスポート サーバー上に存在するキュー
キュー名 | サーバーの役割 | サーバー上のキューの数 |
---|---|---|
メールボックス配信キュー |
ハブ トランスポート |
一意の配信先メールボックス サーバーごとに 1 つのキュー |
有害メッセージ キュー |
エッジ トランスポート ハブ トランスポート |
1 |
リモート配信キュー |
エッジ トランスポート ハブ トランスポート |
エッジ トランスポート: 一意の配信先 SMTP ドメインまたはスマート ホストごとに 1 つのキュー ハブ トランスポート: 一意のリモート Active Directory サイトごとに 1 つのキュー |
送信キュー |
エッジ トランスポート ハブ トランスポート |
1 |
到達不能キュー |
エッジ トランスポート ハブ トランスポート |
1 |
トランスポートがメッセージを受信すると、トランスポート メール アイテムが作成されて、データベースに保存されます。データベースに格納されるトランスポート メール アイテムには、固有の識別子が割り当てられます。メッセージつまりトランスポート メール アイテムが複数の受信者にルーティングされる場合、アイテムは複数の送信先を持つことができます。個々の送信先はトランスポート メール アイテムに対する個別のルーティング ソリューションを表し、各ルーティング ソリューションによってルーティングされるメール アイテムが作成されます。
ルーティングされるメール アイテムは、トランスポート メール アイテムへの参照であり、キュー アクションに対する操作の単位です。トランスポート メール アイテムに複数のルーティング ソリューションがある場合は、複数のルーティングされるメール アイテムが同じトランスポート メール アイテムを参照します。2 つの異なるドメインの受信者に送信されるメッセージは、データベースには 1 つしかトランスポート メール アイテムが格納されていなくても、配信キューでは異なる 2 つのメッセージとして扱われます。
有害メッセージ キューと到達不能キューについて
カテゴライザーは、メッセージの送信先に未知のルートがあると、そのメッセージを到達不能キューに送信します。通常は、配達不能の送信先は、配信パスに影響を及ぼすような構成エラーによって起こります。たとえば、次の条件が当てはまる場合、メッセージは到達不能キューに送信されます。
Contoso.com という名前のリモート配信キューにメッセージがある。
Contoso.com ドメインへのアクセスに使用している送信コネクタを削除した。
既定では、到達不能キュー内のメッセージの状態は "準備完了" です。到達不能キュー内のメッセージが自動的に再送信されることはありません。管理者によって手動で再送信されたり、削除されたり、または MessageExpirationTimeOut パラメーターで指定した時間が過ぎたりしない限り、メッセージは到達不能キュー内に残ります。
有害メッセージ キューには、サーバーのエラー発生後に Exchange 2010 サーバーに対して有害の可能性があると判断されたメッセージが含まれています。このメッセージには、純粋に有害な内容および形式が含まれている可能性があります。または、適切に記述されていないエージェントの結果として、Exchange サーバーが無効と想定されるメッセージを処理したときに失敗することもあります。有害メッセージ キューにあるすべてのメッセージは、恒久的に中断された状態にあります。有害メッセージ キューは、Retry-Queue コマンドレットの Resubmit パラメーターを使用して再送信することはできません。有害メッセージ キューに置かれたメッセージを再送信するには、キュー ビューアーまたは Resume-Message コマンドレットを使用して、メッセージを再開できます。有害メッセージ キューにあるメッセージは、自動で再開されたり期限切れになったりすることはありません。有害メッセージ キューにあるメッセージは、管理者によって手動で再開または削除されるまでキュー内に残ります。
ページのトップへ
キュー データベース ファイル
さまざまなキューはすべて 1 つの ESE データベースに格納されます。既定では、このキュー データベースは、C:\Program Files\Microsoft\Exchange Server\TransportRoles\data\Queue にあります。
ESE データベースと同様に、キュー データベースはログ ファイルを使用して、データの受け付け、追跡、および維持を行います。パフォーマンスを強化するために、メッセージ トランザクションはすべて、最初にログ ファイルとメモリに書き込まれ、次にデータベース ファイルに書き込まれます。チェックポイント ファイルは、データベースにコミットされたトランザクション ログ エントリを追跡します。MicrosoftExchange トランスポート サービスの通常のシャットダウン中、コミットされていないデータベースの変更がトランザクション ログ内に見つかると、必ずデータベースにコミットされます。
キュー データベースには循環ログが使用されます。これは、トランザクション ログにあるコミットされたトランザクションの履歴が保持されていないことを意味します。現在のチェックポイントより古いトランザクション ログは、すべて即座に自動削除されます。このため、キュー データベースを回復するために、バックアップからトランザクション ログを再生することはできません。
次の表に、キュー データベースを構成するファイルの一覧を示します。
キュー データベースを構成するファイル
ファイル | 説明 |
---|---|
Mail.que |
このキュー データベース ファイルは、キューに入れられたメッセージをすべて格納します。 |
Tmp.edb |
この一時データベース ファイルは、起動時にキュー データベース スキーマを確認するために使用されます。 |
Trn*.log |
このトランザクション ログは、キュー データベースに対するすべての変更を記録します。データベースへの変更は、最初にトランザクション ログに書き込まれ、次にデータベースにコミットされます。Trn.log は、現在アクティブなトランザクション ログ ファイルです。Trntmp.log は、前もって作成され、準備されている次のトランザクション ログ ファイルです。既存の Trn.log トランザクション ログ ファイルが最大サイズに達すると、Trn.log の名前は Trnnnnn.log に変更されます。ここで、nnnn はシーケンス番号です。次に、Trntmp.log の名前が Trn.log に変更され、現在アクティブなトランザクション ログ ファイルになります。 |
Trn.chk |
このチェックポイント ファイルは、データベースにコミットされたトランザクション ログ エントリを追跡します。このファイルは、常に mail.que ファイルと同じ場所にあります。 |
Trnres00001.jrs Trnres00002.jrs |
これらの予約トランザクション ログ ファイルはプレースホルダーとして動作します。これらのファイルが使用されるのは、トランザクション ログを格納しているハード ディスクで、キュー データベースを正常に停止するための領域が不足している場合のみです。 |
キュー データベースを構成するためのオプション
キュー データベースは、Exchange 管理コンソール (EMC) や管理シェルを使用して構成することはできません。キュー データベースは、EdgeTransport.exe.config ファイルを変更することによって構成します。EdgeTransport.exe.config ファイルは、EdgeTransport.exe ファイルと関連付けられた、XML アプリケーション構成ファイルです。
EdgeTransport.exe.config ファイルの詳細については、「EdgeTransport.exe.Config ファイルについて」を参照してください。
EdgeTransport.exe.config ファイルの <appSettings>
セクションでは、新しい構成オプションを追加するか、または既存の構成オプションを変更することができます。キュー データベースにはまったく関係がない多くの構成オプションも指定できます。ただし、このトピックの範囲外であるため、説明しません。
EdgeTransport.exe.config ファイルで使用できるキュー データベースの構成オプションについて、次の表で説明します。
EdgeTransport.exe.config ファイルで使用できるメッセージ キュー データベースの構成オプション
パラメーター名 | 説明 |
---|---|
QueueDatabaseBatchSize |
このパラメーターには、実行する前にグループ化できるデータベース I/O 操作の数を指定します。既定値は |
QueueDatabaseBatchTimeout |
このパラメーターには、実行前に複数のデータベース I/O 操作がグループ化されるまでデータベースが待機する最大時間を指定します (ミリ秒単位)。データベース I/O 操作は、以下の条件が満たされると、それ以上の操作を待たずに実行されます。
既定値は |
QueueDatabaseMaxConnections |
このパラメーターには、開くことができる ESE データベース接続の数を指定します。既定値は |
QueueDatabaseLoggingBufferSize |
このパラメーターには、トランザクション ログ ファイルに書き込まれる前のトランザクション レコードをキャッシュするために使用されるメモリを指定します。既定値は |
QueueDatabaseLoggingFileSize |
このパラメーターには、トランザクション ログ ファイルの最大サイズを指定します。ログ ファイルの最大サイズに達すると、新しいログ ファイルが開かれます。既定値は |
QueueDatabaseLoggingPath |
このパラメーターには、キュー データベース ログ ファイルの既定のディレクトリを指定します。既定のパスは、C:\Program Files\Microsoft\Exchange Server\TransportRoles\data\Queue です。キュー データベースのログ ディレクトリを変更する前に、新しいディレクトリが存在することを確認してください。また、そのディレクトリに以下のファイル アクセス許可が適用されていることを確認してください。Network Service:フル コントロール、System:フル コントロール、Administrators:フル コントロール。 |
QueueDatabaseMaxBackgroundCleanupTasks |
このパラメーターには、データベース エンジンのスレッド プールに対するキューに任意の時点で置くことができる、バックグラウンドでのクリーンアップ作業の最大アイテム数を指定します。既定値は |
QueueDatabaseOnlineDefragEnabled |
このパラメーターを使用すると、メール キュー データベースの、スケジュールされたオンラインでの最適化を有効または無効にできます。既定値は |
QueueDatabaseOnlineDefragSchedule |
このパラメーターには、メール キュー データベースのオンラインでの最適化を開始する時刻を、24 時間形式で指定します。値を指定するには、hh:mm:ss の形式で期間として入力します。h = 時間、m = 分、s = 秒です。既定値は |
QueueDatabaseOnlineDefragTimeToRun |
このパラメーターには、オンラインでの最適化タスクの実行を許可する時間を指定します。指定した時間で最適化タスクが終了しない場合でも、キュー データベースは整合状態で残されます。値を指定するには、hh:mm:ss の形式で期間として入力します。h = 時間、m = 分、s = 秒です。既定値は |
QueueDatabasePath |
このパラメーターには、キュー データベース ファイルの既定のディレクトリを指定します。既定のパスは、C:\Program Files\Microsoft\Exchange Server\TransportRoles\data\Queue です。キュー データベースのディレクトリを変更する前に、新しいディレクトリが存在することを確認してください。また、そのディレクトリに以下のファイル アクセス許可が適用されていることを確認してください。Network Service:フル コントロール、System:フル コントロール、Administrators:フル コントロール。 |
ページのトップへ
キューの管理
メール フローの問題やスパムの流入が発生したときには、キューおよびキューに存在するメッセージの状態を変更する操作を実行できます。単一のオブジェクトに対して操作を実行することも、複数のオブジェクトを選択して一括操作を実行することもできます。メッセージおよび配信キューに関する情報を取得するには、Exchange 2010 のキュー ビューアー グラフィカル ユーザー インターフェイスおよびシェルのコマンドを使用します。この情報を取得したら、管理するキューとメッセージを選択できます。
キュー ビューアーまたはシェルのコマンドを使用して、管理するキューとメッセージを識別するフィルター条件を作成します。フィルター条件は以下の属性が基になります。
キューの状態
キューのプロパティ
メッセージの状態
メッセージのプロパティ
キューにフィルターを適用する方法の詳細については、「キューをフィルター処理する」を参照してください。メッセージにフィルターを適用する方法の詳細については、「キュー内のメッセージをフィルター処理する」を参照してください。
キュー管理タスク
キュー ビューアーまたはシェルのコマンドを使用して、キューとメッセージに関する情報を表示します。これらのツールを使用すると、以下の操作を実行することもできます。
キューを中断する キューに現在入っているメッセージの配信を一時的に停止します。キューは引き続き新しいメッセージを受け付けますが、キューからメッセージが出ていくことはありません。詳細については、「キューを中断する」を参照してください。
キューを再開する キュー中断操作の逆で、キューに入っているメッセージの配信を再開できるようにします。詳細については、「キューを再開する」を参照してください。
キューの再試行 キューの次のホップに対する接続が失敗すると、再試行タイマーが設定されます。再試行タイマーは、それ以降の接続の試みをスケジュールします。キューの再試行操作は、スケジュールされている次回の接続の試みを無効にし、次のホップへの接続を直ちに試みます。接続が確立しない場合は、次の再試行時刻が再度設定されます。詳細については、「キューを再試行する」を参照してください。
Resubmit パラメーターを指定して、Retry-Queue コマンドレットを使用し、キュー内のメッセージを送信キューに再送信したり、分類プロセスを繰り返すよう差し戻すことができます。以下の状態のメッセージを手動で再送信できます。
状態が "再試行" のメールボックス配信キューまたはリモート配信キュー。キュー内のメッセージの状態は "中断" であってはいけません。
状態が "中断" ではない、到達不能キュー内のメッセージ。
有害メッセージ キューのメッセージ。
詳細については、「キュー内のメッセージを再送信する」を参照してください。
メッセージを中断する メッセージの配信を一時的に停止します。メッセージ中断操作を使用すると、特定のキューにおけるすべての受信者に対するメッセージの配信、またはすべてのキューにおけるすべての受信者に対するメッセージの配信を、停止することができます。詳細については、「メッセージを中断する」を参照してください。
メッセージを再開する メッセージ中断操作の逆で、キューに入っているメッセージの配信を再開できるようにします。メッセージ再開操作を使用すると、特定のキューにおけるすべての受信者に対するメッセージの配信、またはすべてのキューにおけるすべての受信者に対するメッセージの配信を、再開することができます。また、この操作を使用して、有害メッセージ キューのメッセージの再送信も行えます。詳細については、「メッセージを再開する」を参照してください。
メッセージを削除する メッセージの配信を完全に停止します。メッセージ削除操作を使用すると、指定したキューにおける任意の受信者に対するメッセージの配信、またはすべてのキューにおけるすべての受信者に対するメッセージの配信を、停止することができます。また、メッセージが削除されたら送信者に配信不能レポート (NDR) が送信されるように、メッセージ削除操作を構成することもできます。詳細については、「キューからメッセージを削除する」を参照してください。
メッセージをエクスポートする 指定したファイル パスにメッセージをコピーします。キューからメッセージは削除されず、メッセージのコピーがファイルの場所に保存されます。これにより、組織の管理者や担当者は後でメッセージを調べることができます。メッセージをエクスポートする前に、キューのメッセージを中断して、エクスポート プロセスの間に通常の配信が継続されないようにする必要があります。エクスポートの形式は、MicrosoftOfficeOutlook などの電子メール アプリケーションと互換性があります。オペレーティング システムによってファイルが電子メール アプリケーションと関連付けられるようにするには、メッセージを .eml 形式で保存します。詳細については、「キューからメッセージをエクスポートする」を参照してください。
キュー フィルターのシナリオ
フィルターにより、さまざまなキューのビューが生成されます。フィルター オプションとして、キューのプロパティを使用します。フィルター条件を指定することにより、すばやくキューを見つけ出し、それに対する処理を実行することができます。以下のシナリオは、キューのフィルター処理を使用してメッセージ フローを管理する方法の例です。
Microsoft System Center Operations Manager から、キューの長さが設定されたしきい値を超えたことを示すメッセージを受け取りました。メール フローに関する問題がサーバー全体に存在しているのかどうかを調べる必要があります。
この場合、メッセージ数が標準と考えられる数を超えているキューがすべて表示されるフィルターを作成できます。メール フローに関する問題が示された場合、フィルターの結果の中からすべてのキューを選択し、調査を継続している間、キューを一時的に中断することができます。
メール フローに関する問題の原因を調査するために、いくつかのキューを中断します。コネクタの構成が正しくないことが問題の原因であったことが判明し、修正されました。
状態が "中断" になっているキューがすべて表示されるフィルターを作成し、フィルターの結果からすべてのキューを選択して、再開することができます。
キューのフィルターに使用するキュー プロパティ
フィルターを作成して、特定の条件を満たすキューを見つけるために、キューのプロパティを使用することができます。次の表に、フィルターに使用できるキュー プロパティとそれぞれの有効な値を示します。
キューのプロパティ
キュー ビューアーのキュー プロパティ | シェルのキュー プロパティ | プロパティの種類 | 値 |
---|---|---|---|
配信の種類 |
DeliveryType |
列挙 |
この値は、次ホップの選択内容によって決まります。次ホップの選択により、メッセージがどの配信用キューに入るかが決まります。フィルターに配信の種類のプロパティを使用するには、各種類に割り当てられた定数値を使用する必要があります。配信の種類の値は、以下のいずれかに設定できます。
|
Identity |
Identity |
QueueIdentity |
この値で、キューの ID を指定します。キュー ID を Server\destination の形式で入力します。ここで destination には、リモート ドメイン、メールボックス サーバー、永続キュー名、またはキュー データベースでこのキューを識別するための整数のいずれかを指定します。 |
最新のエラー |
LastError |
文字列 |
この値は、キューに関して記録された最新のエラーの文字列を指定します。 |
最終再試行時刻 |
LastRetryTime |
DateTime |
この値は、状態が "再試行" になっているキューに関して最後に接続を試みた時刻を示します。 |
メッセージ数 |
MessageCount |
Ulong |
この値は、キュー内のアイテム数を表す整数です。 |
次ホップ コネクタ |
NextHopConnector |
GUID |
この値は、システム GUID を表し、キューを作成するために使用されたコネクタの GUID です。 |
次ホップ ドメイン |
NextHopDomain |
文字列 |
この値で、配信キューの次の送信先を指定します。次ホップ ドメインは、次のいずれかの方法で表すことができます。
|
次の再試行時刻 |
NextRetryTime |
DateTime |
この値は、状態が "再試行" になっているキューに関して次に接続を試みる時刻を示します。 |
状態 |
Status |
列挙 |
この値は、現在のキューの状態を指定します。キューの状態値は、次のいずれかです。
|
キューのフィルターに使用する演算子
キュー フィルターを作成する場合、プロパティ値と一致させるための演算子を含める必要があります。次の表に、フィルター式で使用できる比較演算子と、各演算子の機能を示します。
フィルター式の演算子
演算子 | シェルの値 | 機能 | シェルのコード例 |
---|---|---|---|
次の値と等しい |
-eq |
この演算子は、結果が式で指定されているプロパティ値に正確に一致する必要があることを指定するために使用されます。 |
状態が "再試行" になっているすべてのキューの一覧を表示するには、次の式を使用します。
|
次の値と等しくない |
-ne |
この演算子は、結果が式で指定されているプロパティ値に一致してはならないことを指定するために使用されます。 |
状態が "アクティブ" 以外のすべてのキューの一覧を表示するには、次の式を使用します。
|
次の値より大きい |
-gt |
この演算子は、値が整数で表されるプロパティで使用されます。このフィルターの結果には、指定したプロパティの値が、式で提供された値より大きいキューのみが含まれます。 |
現在 1,000 を超えるメッセージが存在しているキューの一覧を表示するには、次の式を使用します。
|
以上 |
-ge |
この演算子は、値が整数で表されるプロパティで使用されます。このフィルターの結果には、指定したプロパティの値が、式で提供された値より大きいか、等しいキューのみが含まれます。 |
現在 1,000 以上のメッセージが存在しているキューの一覧を表示するには、次の式を使用します。
|
次の値より小さい |
-lt |
この演算子は、値が整数で表されるプロパティで使用されます。このフィルターの結果には、指定したプロパティの値が、式で提供された値より小さいキューのみが含まれます。 |
現在存在しているメッセージが 1,000 より少ないキューの一覧を表示するには、次の式を使用します。
|
以下 |
-le |
この演算子は、値が整数で表されるプロパティで使用されます。このフィルターの結果には、指定したプロパティの値が、式で提供された値より小さいか、等しいキューのみが含まれます。 |
現在 1,000 以下のメッセージが存在しているキューの一覧を表示するには、次の式を使用します。
|
次の文字を含む |
-like |
この演算子は、値が文字列で表されるプロパティで使用されます。このフィルターの結果には、指定したプロパティの値に、式で提供された文字列が含まれているキューのみが含まれます。ワイルドカード文字 (*) は、文字列フィールドに適用される -like 式に使用することはできますが、列挙の種類のフィールドに使用することはできません。 |
Contoso.com で終わる SMTP ドメインが送信先に指定されている配信キューの一覧を表示するには、次の式を使用します。
|
シェルで -and 演算子を使用するか、キュー ビューアーで複数の式を追加することにより、キューのフィルターに複数の式を指定することができます。結果セットに含まれるキューは、すべての条件を満たしている必要があります。たとえば、次のコマンドの結果としては、Contoso.com で終わる SMTP ドメイン名を送信先に持つキューで、現在 500 を超えるメッセージが存在するキューの一覧が表示されます。
Get-Queue -Filter {Identity -like "*Contoso.com*" -and MessageCount -gt 500}
メッセージのフィルター処理のシナリオ
フィルター処理により、キュー内のメッセージの異なるビューが生成されます。フィルター条件を指定すると、メッセージをすばやく見つけて、操作を行うことができます。電子メール メッセージが複数の受信者に送信される場合、そのメッセージは複数のキューに存在する可能性があります。メッセージのプロパティによってフィルター処理を行う場合は、すべてのキューにあるメッセージを見つけることができます。以下のシナリオは、メッセージのフィルター処理を使用してメール フローを管理する方法の例です。
エッジ トランスポート サーバーの役割がインストールされているコンピューターの送信キューには、配信のためにキューに置かれた大量のメッセージが含まれています。これらのメッセージの多くが、同じ件名になっています。このため、組織にスパムが送信されている可能性があります。件名の条件に一致するメッセージをすべて表示するためのフィルターを作成することができます。それらのメッセージがスパムであると判断した場合は、そのメッセージをすべて選択し、NDR を送信せずに配信キューから削除できます。
ユーザーから、メール フローに時間がかかっているという報告を受けました。キューを調べると、ランダムな件名を持つ多数のメッセージが単一のドメインから送信されていることがわかりました。キューに置かれているそのドメインからのメッセージをすべて表示するためのフィルターを作成することができます。それらのメッセージがスパムであると判断した場合は、そのメッセージをすべて選択し、NDR を送信せずに配信キューから削除できます。
メッセージをフィルター処理する場合に使用するメッセージのプロパティ
メッセージのプロパティを使用してフィルターを作成し、指定した条件に一致するメッセージを見つけることができます。次の表は、フィルター処理できるメッセージのプロパティと、それらのプロパティに関連付けられた値の一覧です。
メッセージのプロパティ
キュー ビューアーのメッセージのプロパティ | シェルのメッセージのプロパティ | プロパティの種類 | 値 |
---|---|---|---|
受信日 |
DateReceived |
DateTime |
この値は、メッセージが置かれているキューを保持するサーバーがメッセージを受信したときのタイム スタンプを指定します。 |
有効期限 |
ExpirationTime |
DateTime |
この値は、メッセージが配信できない場合に、そのメッセージの有効期限が切れてキューから削除されるときのタイム スタンプを指定します。 |
送信元アドレス |
FromAddress |
SMTP アドレス |
この値は、メッセージ送信者の SMTP (簡易メール転送プロトコル) アドレスを指定します。 |
Identity |
Identity |
整数 |
この値は、特定のメッセージを表す整数です。メッセージ ID は、処理するメッセージが受信されるときにキュー データベースによって割り当てられます。メッセージの一意のインスタンスを識別するために、省略可能なサーバーとキュー ID を含めることもできます。この値は、以下のように表すことができます。
|
インターネット メッセージ ID |
InternetMessageId |
文字列 |
この値は、メッセージ ヘッダー内にある 67D754D6103DC4FB3BA6BC7205DACABA61231@exchange.contoso.com |
最新のエラー |
LastError |
文字列 |
この値は、メッセージに関して記録された最新のエラーの文字列を指定します。 |
メッセージの送信元の名前 |
MessageSourceName |
文字列 |
この値は、このメッセージをキューに送信したコンポーネントの名前を示す文字列を指定します。 |
キュー ID |
Queue |
QueueIdentity |
このプロパティの値は、メッセージを保持するキューの ID を指定します。Server\destination という形式でキュー ID を入力します。ここで destination は、リモート ドメイン、メールボックス サーバー、永続キュー名、またはキュー データベース ID です。データベース ID は整数で表され、メッセージのプロパティを表示することにより特定できます。 |
再試行回数 |
RetryCount |
整数 |
この値は、送信先へのメッセージの配信が試行された回数を指定します。 |
SCL |
SCL |
整数 |
SCL (Spam Confidence Level) プロパティの値は、メッセージの SCL を指定します。有効な SCL の値は、0 ~ 9 の範囲の整数です。SCL プロパティの値が空の場合、メッセージはコンテンツ フィルター エージェントによって処理されなかったことを示します。 |
サイズ (KB) |
Size |
ByteQuantifiedSize |
この値は、メッセージのサイズを指定します。 |
送信元 IP |
SourceIP |
IP アドレス |
この値は、Exchange 組織にメッセージを送信した外部サーバーの IP アドレスを指定します。 |
状態 |
状態 |
列挙 |
この値は、現在のメッセージの状態を指定します。メッセージの状態は、以下のいずれかの値になります。
|
Subject |
件名 |
文字列 |
この値は、文字列で表されるメッセージの件名を指定します。 |
メッセージをフィルター処理する場合に使用する演算子
メッセージ フィルターを作成するときは、プロパティ値が一致する演算子を含める必要があります。次の表に、フィルター式で使用できる比較演算子と、各演算子の機能を示します。
フィルター式の演算子
演算子 | シェルの値 | 機能 | シェルのコード例 |
---|---|---|---|
次の値と等しい |
-eq |
この演算子は、結果が式で指定されているプロパティ値に正確に一致する必要があることを指定するために使用されます。 |
状態が "再試行" であるすべてのメッセージの一覧を表示するには、次の式を使用します。
|
次の値と等しくない |
-ne |
この演算子は、結果が式で指定されているプロパティ値に一致してはならないことを指定するために使用されます。 |
状態が "アクティブ" 以外のすべてのメッセージの一覧を表示するには、次の式を使用します。
|
次の値より大きい |
-gt |
この演算子は、値が整数で表されるプロパティで使用されます。このフィルターの結果には、指定したプロパティの値が、式で提供された値より大きいメッセージのみが含まれます。 |
現在の再試行回数が 3 よりも大きいメッセージの一覧を表示するには、次の式を使用します。
|
以上 |
-ge |
この演算子は、値が整数で表されるプロパティで使用されます。このフィルターの結果には、指定したプロパティの値が、式で提供された値より大きいか、等しいメッセージのみが含まれます。 |
現在の再試行回数が 3 以上のメッセージの一覧を表示するには、次の式を使用します。
|
次の値より小さい |
-lt |
この演算子は、値が整数で表されるプロパティで使用されます。このフィルターの結果には、指定したプロパティの値が、式で提供された値より小さいメッセージのみが含まれます。 |
SCL が 6 よりも小さいメッセージの一覧を表示するには、次の式を使用します。
|
以下 |
-le |
この演算子は、値が整数で表されるプロパティで使用されます。このフィルターの結果には、指定したプロパティの値が、式で提供された値より小さいか、等しいメッセージのみが含まれます。 |
SCL が 6 以下のメッセージの一覧を表示するには、次の式を使用します。
|
次の文字を含む |
-like |
この演算子は、値が文字列で表されるプロパティで使用されます。このフィルターの結果には、指定したプロパティの値に、式で提供された文字列が含まれているメッセージのみが含まれます。ワイルドカード文字 (*) は、文字列フィールドに適用される -like 式に使用することはできますが、列挙の種類のフィールドに使用することはできません。 |
テキスト "payday loan" を件名に含むメッセージの一覧を表示するには、次の式を使用します。
|
複数の式を評価するフィルターを指定するには、シェルで -and 比較演算子を使用するか、またはキュー ビューアーで複数の式を追加します。結果セットには、すべてのフィルター条件に一致するメッセージのみが含まれます。たとえば、次のコマンドの結果として、Contoso.com で終わるドメイン名を持つ任意の電子メール アドレスから送信された、SCL が 5 よりも大きいメッセージの一覧が表示されます。
Get-Message -Filter {FromAddress -like "*Contoso.com*" -and SCL -gt 5}
ページのトップへ
メッセージの再試行、再送信、および有効期限の間隔
正常に配信できないメッセージには、メッセージの配信元や配信先に基づき、再試行、再送信、有効期限など、さまざまな処理が行われます。再試行は、送信先ドメイン、スマート ホスト、またはメール サーバーとの、更新された接続試行です。再送信は、カテゴライザーが再処理するように、送信するメッセージを送信キューに戻す操作です。指定した期間内のすべての配信試行が失敗した後、そのメッセージは "タイムアウト"、つまり有効期限が切れたと表現します。メッセージが期限切れになると、送信者は配信エラーの通知を受け取ります。その後、メッセージはキューから削除されます。
再試行、再送信、および期限切れの 3 つの状況すべてにおいて、メッセージに対し自動的な動作が実行される前に、手動で介入することができます。
メッセージの再試行の構成オプション
トランスポート サーバーが次のホップに接続できないと、キューの状態は "再試行" となります。接続試行は、キューの有効期限が切れるか、接続が確立されるまで繰り返し行われます。
メッセージの自動再試行の構成オプション
次の表は、メッセージの再試行の間隔に使用できる構成オプションを説明したものです。
メッセージの再試行の間隔に使用できる構成オプション
パラメーター名 | 既定値 | 構成する場所 | 説明 |
---|---|---|---|
QueueGlitchRetryCount |
4 |
EdgeTransport.exe.config |
このパラメーターには、トランスポート サーバーが送信先サーバーに接続できない場合に、直ちに試行する接続試行の回数を指定します。そのような接続エラーは通常、極めて短時間のネットワークの停止が原因で起こります。一般に、ネットワークの信頼性が低く、接続の切断が意図せず何度も発生する状態が続いているのではない限り、このパラメーターを変更する必要はありません。 |
QueueGlitchRetryInterval |
1 分 |
EdgeTransport.exe.config |
このパラメーターでは、QueueGlitchRetryCount パラメーターに指定された接続試行の間隔を制御します。一般に、ネットワークの信頼性が低く、接続の切断が意図せず何度も発生する状態が続いているのではない限り、このパラメーターを変更する必要はありません。 |
TransientFailureRetryCount |
6 |
EMC の Set-TransportServer コマンドレットまたはトランスポート サーバーのプロパティです。 |
このパラメーターには、QueueGlitchRetryCount パラメーターと QueueGlitchRetryInterval パラメーターで制御される接続試行が失敗した後で試行する、接続試行の回数を指定します。QueueGlitchRetryCount パラメーターと QueueGlitchRetryInterval パラメーターをすべて使用した接続エラーは、サーバーの再起動やキャッシュされた DNS 参照の失敗などが原因で起こることがあります。 |
TransientFailureRetryInterval |
|
EMC の Set-TransportServer コマンドレットまたはトランスポート サーバーのプロパティです。 |
このパラメーターでは、TransientFailureRetryCount パラメーターに指定された接続試行の間隔を制御します。 |
OutboundConnectionFailureRetryInterval |
|
EMC の Set-TransportServer コマンドレットまたはトランスポート サーバーのプロパティです。 |
このパラメーターには、前に失敗した送信接続の再試行の間隔を指定します。以前に失敗した接続試行は、TransientFailureRetryCount パラメーターと TransientFailureRetryInterval パラメーターによって制御されます。 |
MessageRetryInterval |
1 分 |
Set-TransportServer コマンドレット |
このパラメーターには、"再試行" の状態を持つ個々のメッセージに対する再試行の間隔を指定します。マイクロソフト カスタマー サービスおよびサポートからの指示がない限り、この既定値を変更しないことをお勧めします。 |
MailboxDeliveryQueueRetryInterval |
5 分 |
EdgeTransport.exe.config |
このパラメーターは、ハブ トランスポート サーバー間のメールボックス配信キューに対する再試行の間隔を制御します。 |
EdgeTransport.exe.config ファイルの <appSettings>
セクションでは、新しい構成オプションを追加するか、または既存の構成オプションを変更することができます。メッセージの再試行、再送信、および有効期限の間隔とはまったく関係のない、多くの構成オプションを使用できます。これらの間隔とは関係のない構成オプションはすべて、このトピックの範囲外です。
EdgeTransport.exe.config ファイルの詳細については、「EdgeTransport.exe.Config ファイルについて」を参照してください。
詳細については、「メッセージの再試行、再送信、および有効期限の間隔を構成する」を参照してください。
メッセージの手動再試行の構成オプション
メールボックス配信キューまたはリモート配信キューの状態が "再試行" の場合、EMC のキュー ビューアーまたはシェルの Retry-Queue コマンドレットを使用して、手動で直ちに接続を試行することができます。手動による再試行は、次に予定されている再試行より優先されます。接続に失敗すると、再試行の間隔がリセットされます。この操作を有効にするには、配信キューの状態が "再試行" である必要があります。
詳細については、「キューを再試行する」を参照してください。
遅延 DSN メッセージの構成オプション
メッセージの配信が失敗するたびに、エッジ トランスポート サーバーまたはハブ トランスポート サーバーは遅延配信状態通知 (DSN) メッセージを生成し、未配信のメッセージの送信者に配信できるようにキューに格納します。この遅延 DSN メッセージは、指定した遅延通知タイムアウト間隔が経過しても、その間に失敗したメッセージを配信できなかった場合にのみ送信されます。既定では、遅延通知タイムアウト間隔は 4 時間です。この遅延によって、一時的なメッセージ転送障害による不要な遅延 DSN メッセージの送信を防ぐことができます。遅延 DSN 通知メッセージの送信は、Exchange 組織の内部または外部から送信されたメッセージごとに選択的に有効または無効にすることができます。
次の表は、遅延 DSN 通知メッセージに使用できる構成オプションを説明したものです。
遅延 DSN 通知メッセージに使用できる構成オプション
パラメーター名 | 既定値 | 場所 | 説明 |
---|---|---|---|
DelayNotificationTimeOut |
4 時間 |
Set-TransportServer |
このパラメーターには、サーバーが遅延 DSN メッセージをメッセージの送信者に送信するまでの待機時間を指定します。このパラメーターの値は、TransientFailureRetryCount パラメーターの値に TransientFailureRetryInterval パラメーターの値を掛けた値よりも常に大きくなっている必要があります。 |
ExternalDelayDSNEnabled |
|
Set-TransportConfig |
このパラメーターには、Exchange 組織の外部にいるメッセージ送信者に遅延 DSN メッセージを送信できるかどうかを指定します。 |
InternalDelayDSNEnabled |
|
Set-TransportConfig |
このパラメーターには、Exchange 組織の内部にいるメッセージ送信者に遅延 DSN メッセージを送信できるかどうかを指定します。 |
詳細については、「メッセージの再試行、再送信、および有効期限の間隔を構成する」を参照してください。
メッセージの再送信の構成オプション
メッセージを再送信すると、配信不能のメッセージが送信キューに戻され、カテゴライザーによって再度処理されます。
メッセージの自動再送信
配信キューの状態が "再試行" で、指定した期間内にメッセージをまったく配信できなかった場合、未配信のメッセージは自動的に再送信されます。この期間は、EdgeTransport.exe.config アプリケーション構成ファイルの MaxIdTimeBeforeResubmit パラメーターで制御されます。既定では、MaxIdTimeBeforeResubmit パラメーターの値は 12 時間です。メールボックス配信キューかリモート配信キューにあるメッセージのみ、自動再送信の対象となります。
詳細については、「メッセージの再試行、再送信、および有効期限の間隔を構成する」を参照してください。
メッセージの手動再送信
ハブ トランスポート サーバーかエッジ トランスポート サーバーで次の状態にあるメッセージは、手動で再送信できます。
状態が "再試行" のメールボックス配信キューまたはリモート配信キュー。キュー内のメッセージの状態は "中断" であってはいけません。
到達不能キュー内にあり、"中断" 以外の状態にあるメッセージです。
有害メッセージ キュー内にあるメッセージです。
有害メッセージ キューと到達不能キューの詳細については、このトピックで前述した「有害メッセージ キューと到達不能キューについて」を参照してください。
メールボックス配信キュー、リモート配信キュー、到達不能キューのいずれかにあるメッセージを、MaxIdleTimeBeforeResubmit パラメーターで指定した時間を待たずに手動で再送信する場合は、Resubmit パラメーターを設定して Retry-Queue コマンドレットを使用する必要があります。有害メッセージ キューにあるメッセージを手動で再送信するには、キュー ビューアーまたは Resume-Message コマンドレットを使用して、メッセージを再開することができます。
詳細については、以下のトピックを参照してください。
メッセージを手動で再送信するその他の方法は、メッセージを中断し、そのメッセージを .eml ファイル名拡張子を持つテキスト ファイルにエクスポートし、その .eml ファイルを任意のハブ トランスポート サーバーかエッジ トランスポート サーバーにある再生ディレクトリにコピーすることです。この再送信方法は、メールボックス配信キュー、リモート配信キュー、到達不能キューのいずれかにあるメッセージについて有効です。有害メッセージ キューにあるメッセージは、既に "中断" 状態です。送信キューにあるメッセージを中断したり、エクスポートしたりすることはできません。
注意
キュー内のメッセージをエクスポートしたときに、メッセージはキューから削除されません。メッセージをエクスポートし、再生ディレクトリを使用してそれらを正常に再送信した後で、メッセージの重複配信を避けるために、中断されたメッセージを削除する必要があります。
詳細については、「キューからメッセージをエクスポートする」および「キュー内のメッセージを再送信する」を参照してください。
メッセージの有効期限の構成オプション
メッセージの有効期限のタイムアウト間隔には、エッジ トランスポート サーバーまたはハブ トランスポート サーバーが失敗したメッセージの配信を試みる最長時間を指定します。有効期限のタイムアウト間隔が経過する前にメッセージを正常に配信できない場合は、元のメッセージまたはメッセージ ヘッダーを含む NDR が送信者に配信されます。
メッセージの有効期限の自動設定
メッセージの有効期限のタイムアウト間隔は、Set-TransportServer コマンドレットまたは EMC のトランスポート サーバーのプロパティの MessageExpirationTimeOut パラメーターによって制御されます。既定では、MessageExpirationTimeOut パラメーターの値は 2 日です。
詳細については、以下のトピックを参照してください。
メッセージの有効期限の手動設定
メッセージの有効期限を手動で失効させることはできませんが、NDR を使用するかどうかに関係なく、送信キュー以外の任意のキュー内のメッセージを手動で削除することができます。
詳細については、「キューからメッセージを削除する」を参照してください。
ページのトップへ
© 2010 Microsoft Corporation.All rights reserved.