使用管線追蹤來診斷傳輸代理程式問題

 

適用版本: Exchange Server 2007 SP1, Exchange Server 2007

上次修改主題的時間: 2007-02-12

管線追蹤是 Microsoft Exchange Server 2007 中的診斷工具,可讓您在電子郵件於傳輸管線中發現簡易郵件傳送通訊協定 (SMTP) 事件上登錄的傳輸代理程式時,擷取有關這些電子郵件的診斷資訊。Exchange 會擷取有關每一個傳輸代理程式套用至郵件 (位於郵件快照檔案的傳輸管線) 之變更的詳細資訊。如果設定了傳輸規則,Exchange Server 也會記錄每一個傳輸規則對這些郵件所採取的任何動作。

您組織中的每一伺服器都會設定管線追蹤,而且可在已安裝 Hub Transport server role 及 Edge Transport server role 的電腦上啟用此管線追蹤。

當啟用管線追蹤並使用管線追蹤記錄檔的預設位置時,即會建立 C:\Program Files\Microsoft\Exchange Server\TransportRoles\Logs\PipelineTracing。此目錄包含 MessageSnapshots 目錄及 RulesTracking 目錄。

實作管線追蹤

管線追蹤是設計來記錄只從特定寄件者的 SMTP 電子郵件地址傳送的郵件。寄件者的 SMTP 位址可以是您的 Exchange 組織內或外的信箱。在啟用管線追蹤之前,您必須指定管線追蹤的寄件者 SMTP 地址。您可以在 Set-TransportServer 指令程式上使用 PipelineTracingSenderAddress 參數,設定寄件者 SMTP 地址以進行管線追蹤。

在設定寄件者 SMTP 地址以進行管線追蹤之後,如有需要要的話,您可以修改管線追蹤記錄檔的位置。您必須將管線追蹤記錄檔置於本機電腦上。您無法使用通用命名慣例 (UNC) 檔案路徑或對應的磁碟機。

Caution請注意:
管線追蹤會複製從寄件者的電子郵件地址傳送之電子郵件的完整內容。若要避免機密資訊意外曝光,您必須在管線追蹤記錄檔的位置上設定適當的安全性權限。
Caution請注意:
請不要長時間啟用管線追蹤。管線追蹤所建立的詳細記錄檔有可能會快速累積。啟用管線追蹤時,請務必監控可用磁碟空間。

您可以在 Set-TransportServer 指令程式上使用 PipelineTracingPath 參數,設定管線追蹤記錄檔的位置。如需相關資訊,請參閱Set-TransportServer

如需如何啟用管線追蹤以及設定寄件者地址以進行管線追蹤的相關資訊,請參閱如何啟用管線追蹤

郵件快照檔案

郵件快照是擷取傳輸代理程式對郵件所做之確切變更 (如果有的話) 的檔案。藉由檢查郵件快照檔案的內容,您可以判定傳輸代理程式是否已將變更套用至傳輸管線中您所預期的郵件。如果是在疑難排解問題,您應該判定哪一個傳輸代理程式發生錯誤。然後,您可以全力疑難排解該代理程式,以解決問題。接著,您可以重新檢視郵件快照檔案,以驗證您的解決方案是否成功。

在 MessageSnapshots 目錄中,Exchange 會對啟用管線追蹤時流過傳輸管線的每一封郵件建立一個目錄。每一個目錄都是使用 GUID 所建立的,此 GUID 是執行 Microsoft Exchange 的電腦指派給郵件作為目錄名稱。如果在多部 Exchange 伺服器上啟用了管線追蹤,將指派不同的 GUID 給每一部 Exchange 伺服器上的郵件。

在每一個郵件目錄中,Exchange 都會建立數個具有 .eml 副檔名的郵件快照檔案。當郵件發現每一個事件及傳輸代理程式時,這些郵件快照檔案會包含該郵件的內容。

Exchange 會為在下列四個事件上登錄的代理程式建立郵件快照:

  • OnEndofData
  • OnEndOfHeaders
  • OnSubmittedMessage
  • OnRoutedMessage

如果在事件上登錄了傳輸代理程式,則 Exchange 會在郵件發現任何傳輸代理程式之前建立郵件的郵件快照。這會在郵件發現在該事件上登錄的傳輸代理程式之前,為您提供郵件的副本。然後,不管傳輸代理程式是否修改郵件的內容,都會為郵件發現的每一個傳輸代理程式建立新的郵件快照。不過,如果未在事件上登錄代理程式,則 Exchange 不會為該事件建立任何郵件快照。

例如,如果在 OnEndofData 事件上登錄了三個代理程式,但是只有兩個傳輸代理程式修改郵件,將會建立四個郵件快照。在 OnEndofData 事件上登錄的傳輸代理程式進行任何修改之前,第一個郵件快照會在發現該事件之前擷取郵件。然後,不管傳輸代理程式是否修改郵件,都會為每一個傳輸代理程式建立一個郵件快照。

下列清單是可以在預設安裝的 Edge Transport server role 中建立的檔案範例:

  • Original.eml 在電子郵件發現任何事件或傳輸代理程式之前,此檔案包含該電子郵件的原始未修改內容。如果未在任何事件上設定傳輸代理程式,則只會建立此檔案。
  • SmtpReceive0001.eml 到 SmtpReceive0009.eml 在電子郵件發現 OnEndofDataOnEndOfHeaders 事件以及傳輸代理程式 (登錄於傳輸管線的 SMTP 接收部份的那些事件上) 時,這些檔案包含此電子郵件的內容。
  • Routing0001.eml 及 Routing0002.eml 在電子郵件發現 OnSubmittedMessageOnRoutedMessage 事件以及傳輸代理程式 (登錄於傳輸管線的分類部份的那些事件上) 時,這些檔案包含此電子郵件的內容。

您可以使用文字編輯器 (例如記事本) 來開啟郵件快照檔案。

每一個郵件快照檔案都是以新增至訊息內容的標頭為開頭,並且列出與郵件快照檔案相關的 SMTP 事件及傳輸代理程式。這些標頭都是以 X-CreatedBy: MessageSnapshot-Begin injected headers 開頭並以 X-EndOfInjectedXHeaders: MessageSnapshot-End injected headers 結尾。每一個後續的傳輸代理程式都會在每一個郵件快照檔案中取代這些標頭。下列是標頭的範例,這些標頭已新增至 OnEndOfHeaders 事件上連線篩選器代理程式所處理的電子郵件:

X-CreatedBy: MessageSnapshot-Begin injected headers
X-MessageSnapshot-UTC-Time: 2006-07-31T23:18:55.972Z
X-MessageSnapshot-Protocol-Id: 08C87FF14CCC969C;2006-07-31T23:18:53.408Z;1
X-MessageSnapshot-Source: OnEndOfHeaders,Connection Filtering Agent
X-Sender: david@nwtraders.com
X-Receiver: chris@contoso.com
X-EndOfInjectedXHeaders: MessageSnapshot-End injected headers

在郵件快照標頭之下是郵件的內容,包括所有原始郵件標頭。如果傳輸代理程式修改郵件的內容,變更就會與郵件結合。當每一個傳輸代理程式處理郵件時,每一個代理程式所做的變更都會套用至郵件內容。如果傳輸代理程式未對郵件內容進行任何變更,則該代理程式所建立的郵件快照將會與前一個前傳輸代理程式建立的郵件快照相同。

讀取規則追蹤檔案

當每一個傳輸規則套用至在 Hub Transport Server 上發現傳輸規則代理程式,或在 Edge Transport Server 上發現 Edge 規則代理程式的郵件時,規則追蹤檔案會擷取這些傳輸規則的內容。規則追蹤檔案所擷取的結果會指出傳輸規則是否已對郵件採取動作。如果傳輸規則採取了動作,則規則追蹤檔案會指出採取了何種動作。規則追蹤檔案會以逗號分隔值 (.csv) 格式包含下列欄位:

  • 日期時間 此欄位是以 Coordinated Universal Time (UTC) 或 Zulu 時間指出傳輸規則的執行日期及時間。
  • 郵件識別碼 此欄位會指出位於郵件標頭之 MessageID: 欄位的值。此值對於郵件永遠不變,而且可以與郵件追蹤記錄檔搭配使用,以追蹤郵件通過 Exchange 組織的路徑。
  • 規則名稱 此欄位會指出對郵件執行之傳輸規則的名稱。
  • 詳細資料 此欄位會指出已套用至郵件之傳輸規則動作的值。如果在單一傳輸規則動作上設定多個值,則將會以分號 (;) 分隔這些值。如果傳輸規則未套用至郵件,將會插入字串「條件已評估為 false。已略過規則。」。
  • 動作 此欄位會指出已套用至郵件的傳輸規則動作。如果傳輸規則未套用至郵件,將會插入字串 NoAction
  • 寄件者地址 此欄位會指出郵件寄件者的 SMTP 位址。
  • 收件者地址 此欄位會指出郵件收件者的 SMTP 位址。當郵件傳送至多個符合傳輸規則條件的收件者時,如果傳輸規則動作套用至該郵件,則將會以分號 (;) 分隔這些收件者。

每一個套用至郵件的傳輸規則動作都會寫入至規則追蹤檔案中的個別行。例如,如果傳輸規則具有三個動作,則每一個傳輸規則動作的結果都會寫入至規則追蹤檔案中的個別行。

如果在電子郵件上包括多個收件者,但是並非所有收件者都符合所有傳輸規則條件,則不符合傳輸規則條件的收件者將會被隔開並寫入至個別行。

相關資訊

如需 Exchange 2007 中之傳輸管線、傳輸代理程式及郵件追蹤記錄檔的相關資訊,請參閱下列主題:

若要確保您目前閱讀的是最新資訊,並尋找其他的 Exchange Server 2007 說明文件,請造訪 Exchange Server 技術資源中心.