Exchange 2013 中的管線追蹤

適用於:Exchange Server 2013

管線追蹤會從特定寄件者擷取電子郵件訊息的複本,這些郵件會在信箱伺服器上的傳輸服務、信箱伺服器上的信箱傳輸傳遞服務,以及透過 Edge Transport Servers 移動。 管線追蹤會擷取每個傳輸代理程式套用至訊息快照集檔案中傳輸管線中訊息之變更的詳細資訊。 藉由檢查訊息快照集檔案的內容,您可以判斷傳輸代理程式是否已將變更套用至您預期的傳輸管線中的訊息。 如果您要針對問題進行疑難排解,您應該判斷哪個傳輸代理程式發生錯誤。 然後,您可以將疑難排解工作集中在該代理程式上,以解決問題。 然後,您可以再次檢視訊息快照集檔案,以確認您的解決方案是否成功。

警告

  • 管線追蹤會複製從寄件者的電子郵件地址傳送之電子郵件的完整內容。 若要避免不必要的機密資訊暴露,您必須在管線追蹤資料夾上設定適當的安全性許可權。
  • 請不要長時間啟用管線追蹤。 管線追蹤會建立可快速累積的檔案。 啟用管線追蹤時,請務必監控可用磁碟空間。

設定管線追蹤

啟用管線追蹤之前,您必須指定要監視的寄件者電子郵件地址。 管線追蹤是設計來記錄從特定電子郵件地址傳送的訊息。 寄件者的電子郵件地址可以是 Exchange 組織內部或外部。 或者,您可以針對指定信箱或 Edge Transport Server 上的傳輸服務所產生的系統訊息啟用管線追蹤,例如自動回復、傳遞狀態通知 (DSN) 訊息、日誌報告和其他系統產生的訊息。您也可以修改管線追蹤資料夾的位置。

下表摘要說明您用來設定管線追蹤的參數:

指令程式 參數 預設值 描述
Set-TransportService

Set-MailboxTransportService

PipelineTracingSenderAddress 空白 ($null) 指定您要監視之寄件者的電子郵件地址。

指定值 「 <> 」,以監視伺服器上指定之傳輸服務所傳送的系統產生訊息。

Set-TransportService

Set-MailboxTransportService

PipelineTracingPath 傳輸服務%ExchangeInstallPath%TransportRoles\Logs\Hub\PipelineTracing

信箱傳輸服務%ExchangeInstallPath%TransportRoles\Logs\Mailbox\PipelineTracing

路徑必須位於本機伺服器上。 不支援 UNC 路徑。

指定的路徑包含 MessageSnapshots 儲存管線追蹤檔案的資料夾。

Set-TransportService

Set-MailboxTransportService

PipelineTracingEnabled $false 設定要監視的寄件者位址之後,您只能在伺服器上啟用指定傳輸服務的管線追蹤。

如需如何啟用管線追蹤及設定管線追蹤傳送者位址的詳細資訊,請參閱設定 管線追蹤

郵件快照檔案

訊息快照集是檔案,可擷取傳輸服務或信箱傳輸傳遞服務中的傳輸代理程式對郵件所做的任何變更。 這些檔案會儲存在傳輸服務對 MessageSnapshots 應管線追蹤路徑的資料夾中。

在 資料夾中 MessageSnapshots ,Exchange 會為受監視的寄件者傳送的每個訊息建立一個資料夾,這些訊息會流經指定的傳輸服務。 每個資料夾都是以指派給訊息的 GUID 命名。 如果您在相同的信箱伺服器上啟用傳輸服務和信箱傳輸服務的管線追蹤,每個傳輸服務會將不同的 GUID 指派給相同的郵件,因此 Transport 服務資料夾中 MessageSnapshots 郵件的資料夾名稱會與 Mailbox Transport Service 資料夾中 MessageSnapshots 相同郵件的資料夾名稱不同。 如果您在多個 Exchange 伺服器上啟用管線追蹤,則會將不同的 GUID 指派給相同的訊息,因為它會在每個 Exchange 伺服器上通過指定的傳輸服務。

在每個訊息資料夾中,Exchange 會建立數個副檔名為 .eml 的訊息快照集檔案。 這些訊息快照集檔案包含訊息在遇到每個 SMTP 事件和傳輸代理程式時的內容。

如果傳輸代理程式已在 SMTP 事件上註冊,Exchange 會在訊息遇到任何傳輸代理程式之前,建立訊息的訊息快照集。 這會在訊息遇到已在該事件上註冊的傳輸代理程式之前,提供訊息複本。 然後,無論傳輸代理程式是否修改訊息的內容,都會為訊息遇到的每個傳輸代理程式建立新的訊息快照集。 不過,如果事件上沒有註冊任何代理程式,Exchange 就不會為該事件建立任何訊息快照集。

例如,如果 OnEndofData 事件上已註冊三個代理程式,但只有兩個傳輸代理程式修改訊息,則會建立四個訊息快照集。 第一個訊息快照集會擷取訊息,因為它在該事件上註冊的傳輸代理程式進行任何修改之前遇到 OnEndofData 事件。 然後,不論傳輸代理程式是否修改訊息,都會為每個傳輸代理程式建立一個訊息快照集。

下列清單中會描述已建立的郵件快照檔案:

  • Original.eml:此檔案在遇到任何 SMTP 事件或傳輸代理程式之前,會包含電子郵件訊息的原始未修改內容。

  • Routingnnnn.eml:這些檔案包含電子郵件訊息的內容,因為其會在傳輸服務的分類部分中遇到傳輸 SMTP 事件和在這些事件上註冊的傳輸代理程式。 預留位置 nnnn 代表以 開頭的 0001 整數值。 每個 SMTP 事件和在這些事件上註冊的傳輸代理程式,都會依事件和代理程式處理訊息的順序來遞增值。 信箱傳輸傳遞服務不會產生這些 路由 快照集檔案。

  • SmtpReceivennnn.eml:當這些檔案在傳輸服務或信箱傳輸傳遞服務的 SMTP 接收部分期間遇到 OnEndofDataOnEndOfHeaders SMTP 事件以及在這些事件上註冊的傳輸代理程式時,這些檔案包含電子郵件訊息的內容。 預留位置 nnnn 代表以 開頭的 0001 整數值。 每個 SMTP 事件和在這些事件上註冊的傳輸代理程式,都會依事件和代理程式處理訊息的順序來遞增值。

您可以使用記事本或任何文字編輯器來開啟郵件快照檔案。

每個訊息快照集檔案的開頭都是新增至訊息內容的標頭,並列出訊息快照集檔案相關的 SMTP 事件和傳輸代理程式。 這些標頭的開頭為 X-CreatedBy: MessageSnapshot-Begin injected headers ,結尾為 X-EndOfInjectedXHeaders: MessageSnapshot-End injected headers 。 每個訊息快照集檔案中的這些標頭會由每個後續的傳輸代理程式和 SMTP 事件取代。 以下是新增至電子郵件訊息檔案的標頭範例:

X-CreatedBy: MessageSnapshot-Begin injected headers
X-MessageSnapshot-UTC-Time: 2013-01-23T23:20:18.138Z
X-MessageSnapshot-Record-Id: 21474836486
X-MessageSnapshot-Source: OnSubmittedMessageX-Sender: michelle@nwtraders.com
X-Receiver: chris@contoso.com
X-EndOfInjectedXHeaders: MessageSnapshot-End injected headers

在訊息快照標頭之後,檔案會包含訊息的內容,包括所有原始訊息標頭。 如果傳輸代理程式修改訊息的內容,變更會與訊息整合。 當每個傳輸代理程式處理訊息時,每個代理程式所做的變更都會套用至訊息內容。 如果傳輸代理程式未變更訊息內容,該代理程式所建立的訊息快照集會與先前傳輸代理程式所建立的訊息快照集相同。