如何在 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 儲存庫會依據下列郵件內容偵測重複的郵件:

  • 網際網路郵件識別碼

  • 用戶端提交時間

儲存庫使用 JET 資料庫中的 DeliveredTo 表格來追蹤重複郵件。當郵件遞送到使用者時,儲存庫會查看此表,了解是否已經存在任何郵件項目。如果該表不含任何項目,則郵件會遞送至使用者,並在表中新增一列項目,表示使用者已經收到郵件。如果表中含有項目,則會捨棄郵件。

根據預設,儲存庫會連續 7 天 (168 小時) 追蹤重複的郵件。您可以變更 [DeliveredTo Expiration in Hours] 登錄值來變更此時間。此值代表在刪除收到的郵件資訊前,此資訊保留的時間 (單位:小時)。儲存庫對此登錄值可接受的上限是 100 年。但是,當您增加此值,表格的大小也會跟著變大。如果表格變得太大,郵件遞送速度可能會變慢。

note附註:
您可以為 DeliveredTo Expiration in Hours 登錄值設定的最小值為 1 小時。因此,Microsoft Exchange 中的偵測重複郵件無法關閉。

儲存庫會定期刪除 DeliveredTo 表中的舊有項目。每小時執行的背景清除執行緒會刪除舊有的項目。您可以變更 [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. 在 [數值資料] 方塊中,輸入您要保留收到的郵件資訊的時間 (單位:小時),然後按一下 [確定]。

  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. 在 [數值資料] 方塊中,輸入在刪除收到的郵件資訊前要保留此資訊的時間 (單位:小時),然後按一下 [確定]。

  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 清除] 的間隔秒數,然後按一下 [確定]。

  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 cleanup] 執行間隔秒數,然後按一下 [確定]。

  12. 關閉 [登錄編輯程式]。

變更完這些登錄值之後,可能仍舊會因為以下原因而出現重複的電子郵件:

  • 如果兩封郵件的網際網路郵件識別碼或是提交時間不同,則第二封郵件不會被視為重複郵件。

  • 如果兩封郵件相同,但是抵達的時間間隔相差一個小時以上,則儲存庫清除工作將會刪除 DeliveredTo 表格中的原始項目,而使用者則會收到後來重複的郵件。

  • 如果將使用者信箱移到其他資料庫,使用者可能會收到重複郵件。DeliveredTo 表格會與資料庫產生關聯,當您移動使用者信箱時,表格資訊並不會跟著移動。

  • 在 Exchange 2000 Server 或舊版的 Exchange 中,當您使用 Outlook Web Access 將郵件傳送給使用者以及包含該使用者的通訊群組清單時,就會出現重複的郵件現象。一旦提交郵件,Exchange 儲存庫會在外寄郵件上蓋上網際網路郵件識別碼戳記。但是,Outlook Web Access 會使用原生的 MIME 類型來提交郵件。儲存庫蓋在郵件上的網際網路郵件識別碼戳記並不會更新 MIME 郵件識別碼的標題。因此,MAPI 郵件無法與原生 MIME 同步,而且傳輸元件分類程式會進行郵件複本發送。此行為會建立具有不同網際網路郵件識別碼的重複郵件。在 Exchange Server 2003 與較新的版本中,只有當儲存庫偵測到必須重新產生 MIME 或是當郵件為純粹的 MAPI 郵件時,才會改變此行為並在郵件上蓋上網際網路郵件識別碼戳記。