Exchange 2007 で重複するメッセージを検出する方法

 

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

トピックの最終更新日: 2010-02-23

ここでは、レジストリを編集して、Microsoft Exchange Server 2007 において重複する電子メール メッセージの検出方法を制御する方法について説明します。Exchange 2007 では、メッセージがユーザーと、そのユーザーを含む配布リストに送信された場合に、重複するメッセージが発生します。通常、重複するメッセージは、メッセージを送信した Exchange サーバー以外のサーバーで配布リストが展開された場合、または配布リストが隠し配布リストである場合に発生します。

Exchange ストアは、次のメッセージ プロパティに基づいて重複するメッセージを検出します。

  • インターネット メッセージ ID
  • クライアントの送信時間

ストアは、JET データベースの DeliveredTo テーブルを使用して、重複するメッセージを追跡します。メッセージがユーザーに配信される際に、ストアはこのテーブルをチェックし、そのメッセージのエントリが既に存在するかどうかを確認します。テーブルにエントリが存在しない場合は、メッセージがユーザーに配信され、ユーザーがメッセージを受信したことを示す行がテーブルに追加されます。エントリが存在する場合は、メッセージは破棄されます。

既定では、ストアは重複するメッセージを 7 日間 (168 時間) 追跡します。この時間は、DeliveredTo Expiration in Hours レジストリの値を変更することによって変更できます。この値は、受信したメッセージの情報が削除されずに保持される期間 (時間単位) です。ストアで許可されるこのレジストリ値の最大値は 100 年です。ただし、この値を大きくすると、テーブルのサイズが大きくなります。テーブルが非常に大きくなると、メッセージの配信が遅くなる可能性があります。

note注 :
DeliveredTo Expiration in Hours レジストリの値に設定できる最小値は 1 時間です。このため、Microsoft Exchange で重複するメッセージの検出をオフにすることはできません。

ストアは、定期的に古い項目を DeliveredTo テーブルから削除します。古い項目は、1 時間おきに実行される、バックグラウンドのクリーンアップ スレッドによって削除されます。クリーンアップの頻度は、DeliveredTo Cleanup Interval in Seconds レジストリの値を変更することによって変更できます。この値は、DeliveredTo テーブルのクリーンアップの頻度 (秒単位) を制御します。既定では、この値は 3,600 秒 (1 時間) に設定されています。

"DeliveredTo Expiration in Hours" レジストリ値を編集するには

  1. レジストリ エディタを起動します。

  2. 次のサブキーを展開します。

    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MSExchangeIS\<Server_Name>\Private-<GUID>

  3. [Private-<GUID>] を右クリックし、[新規] をポイントします。次に、[DWORD 値] をクリックします。

  4. DeliveredTo Expiration in Hours」と入力し、Enter キーを押して、新しい値に名前を付けます。

  5. [DeliveredTo Expiration in Hours] を右クリックし、[修正] をクリックします。

  6. [値のデータ] ボックスで、受信したメッセージの情報を保持する期間を時間単位で入力し、[OK] をクリックします。

  7. 次のサブキーを展開します。

    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MSExchangeIS\<Server_Name>\Public-<GUID>

  8. [Public-<GUID>] を右クリックし、[新規] をポイントします。次に、[DWORD 値] をクリックします。

  9. DeliveredTo Expiration in Hours」と入力し、Enter キーを押して、新しい値に名前を付けます。

  10. [DeliveredTo Expiration in Hours] を右クリックし、[修正] をクリックします。

  11. [値のデータ] ボックスで、受信したメッセージの情報を削除せずに保持する期間を時間単位で入力し、[OK] をクリックします。

  12. レジストリ エディタを終了します。

"DeliveredTo Cleanup Interval in Seconds" レジストリ値を編集するには

  1. レジストリ エディタを起動します。

  2. 次のサブキーを展開します。

    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MSExchangeIS\<Server Name>\Private-<GUID>

  3. [Private-<GUID>] を右クリックし、[新規] をポイントします。次に、[DWORD 値] をクリックします。

  4. DeliveredTo Cleanup Interval in Seconds」と入力し、Enter キーを押して、新しい値に名前を付けます。

  5. [DeliveredTo Cleanup Interval in Seconds] を右クリックし、[修正] をクリックします。

  6. [値のデータ] ボックスで、DeliveredTo のクリーンアップの実行間隔を秒単位で入力し、[OK] をクリックします。

  7. 次のサブキーを展開します。

    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MSExchangeIS\<Server Name>\Public<GUID>

  8. [Public-<GUID>] を右クリックし、[新規] をポイントします。次に、[DWORD 値] をクリックします。

  9. DeliveredTo Cleanup Interval in Seconds」と入力し、Enter キーを押して、新しい値に名前を付けます。

  10. [DeliveredTo Cleanup Interval in Seconds] を右クリックし、[修正] をクリックします。

  11. [値のデータ] ボックスで、DeliveredTo のクリーンアップの実行間隔を秒単位で入力し、[OK] をクリックします。

  12. レジストリ エディタを閉じます。

上記のレジストリ値を変更した後でも、次の理由により、重複する電子メール メッセージが発生する可能性があります。

  • 2 つのメッセージのインターネット メッセージ ID または送信時間のいずれかが異なる場合、2 つ目のメッセージは重複として扱われません。
  • 2 つのメッセージが同じでも、2 つのメッセージの到着間隔が 1 時間を超えている場合には、ストアのクリーンアップ タスクによって DeliveredTo テーブルの元のエントリが削除されるため、ユーザーは重複するメッセージを受信します。
  • ユーザーのメールボックスが別のデータベースに移動した場合、そのユーザーは重複するメッセージを受信する可能性があります。DeliveredTo テーブルはデータベースに関連付けられており、ユーザーのメールボックスが移動した場合でも、テーブル情報は移動しません。
  • Exchange 2000 Server またはそれ以前のバージョンの Exchange では、Outlook Web Access を使用してメッセージをユーザーと、そのユーザーを含む配布リストに送信した場合に、重複するメッセージが発生します。メッセージが送信されると、Exchange ストアにより、送信メッセージにインターネット メッセージ ID がスタンプされます。しかし、Outlook Web Access では、ネイティブ MIME 形式を使用してメッセージが送信されます。ストアによってメッセージにスタンプされるインターネット メッセージ ID は、MIME メッセージ ID ヘッダーを更新しません。このため、MAPI メッセージはネイティブ MIME と同期せず、メッセージは、トランスポート コンポーネント カテゴライザによって分割されます。この動作により、異なるインターネット メッセージ ID を持つ重複するメッセージが作成されます。Exchange Server 2003 以降のバージョンでは、この動作が変更され、MIME を再生成する必要があることをストアが検出した場合、またはメッセージが純粋な MAPI メッセージである場合にのみ、メッセージにインターネット メッセージ ID がスタンプされます。

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