管理收取目錄

 

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

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

依預設,收取目錄會存在於有安裝 Hub Transport server role 或 Edge Transport server role 的每台 Microsoft Exchange Server 2007 電腦。您複製到收取目錄中,格式正確的電子郵件檔案會提交以供傳遞。收取目錄是由系統管理員用來進行郵件流程測試,或是由必須建立及提交專屬郵件的應用程式所使用。

您使用 Set-TransportServer 指令程式來進行所有收取目錄組態工作。您使用此指令程式來進行以下的收取目錄組態變更:

  • 啟用或停用收取目錄。

  • 指定收取目錄的位置。

  • 指定收取目錄所接受的郵件檔案標頭大小上限。

  • 指定收取目錄所接受的郵件檔案收件者人數上限。

  • 指定每分鐘用來處理郵件中之郵件檔的最大速率。

收取目錄如何處理郵件

依照下列步驟來處理已複製至收取目錄且格式正確的 .eml 郵件檔,以進行提交:

  1. 每 5 秒鐘檢查一次收取目錄是否有新郵件檔案。您無法修改此輪詢間隔。但您可以使用 Set-TransportServer 指令程式的 PickupDirectoryMaxMessagesPerMinute 參數,調整處理郵件檔的速率。預設值是每分鐘 100 封郵件。無法開啟的檔案會留在收取目錄中,並在下次輪詢時重新評估。

  2. 會檢查對收取目錄之郵件檔案所設的限制,例如標頭大小上限及收件者人數上限。依預設,標頭大小上限為 64 KB,而收件者人數上限則為 100 位收件者。您可以使用 Set-TransportServer 指令程式來變更這些限制。

  3. 將檔案從 <filename>.eml 重新命名為 <filename>.tmp。如果已有 <filename>.tmp 檔案存在,則檔案會更名為 <filename><datetime>.tmp。如果檔案更名失敗,會產生事件記錄錯誤,然後收取程序會繼續處理下個檔案。

  4. 將 .tmp 檔成功轉換為電子郵件後,會對 .tmp 檔發出「關閉時刪除」(delete on close) 命令。.tmp 檔案看似留在收取目錄中,但其他任何人都無法開啟該檔案。

  5. 郵件順利置入佇列等待傳遞後,會發出「關閉」命令,而 .tmp 檔案則從收取目錄刪除。如果刪除失敗,會產生事件記錄錯誤。如果在收取目錄中有 .tmp 檔案時,Microsoft Exchange Transport 服務重新啟動了,則所有 .tmp 檔都會更名為 .eml 檔案,並重新處理。這可能會導致重複傳遞郵件。

電子郵件檔的結構

標準 SMTP 電子郵件由「郵件信封」和郵件內容組成。郵件信封包含傳輸及傳遞郵件所需的資訊。郵件內容包含統稱為「郵件標頭」的郵件標頭欄位和郵件內容。RFC 2821 會說明郵件信封,而 RFC 2822 會說明郵件標頭。

當寄件者撰寫電子郵件並提交傳遞時,郵件會包含遵循 SMTP 標準所需的基本資訊,例如寄件者、收件者、郵件撰寫的日期和時間、選用的主旨行,以及選用的郵件內文。這些資訊包含在郵件本身,依照定義也在郵件標頭裡。寄件者的郵件伺服器會使用郵件標頭中找到的寄件者和收件者資訊來產生郵件的郵件信封,並將郵件透過網際網路傳送至收件者的郵件伺服器。收件者絕對看不到郵件信封,因為郵件信封是在郵件傳輸過程中產生,實際上不是郵件的一部分。在郵件傳輸過程中相關的每個伺服器,可能會在郵件標頭中插入與伺服器在傳遞郵件時所扮演角色相關的郵件標頭欄位,或是其他應用程式特有的郵件標頭欄位。當收件者使用電子郵件用戶端開啟郵件時,電子郵件用戶端會顯示郵件標頭中較相關的部份資訊,例如寄件者、收件者、主旨以及郵件內文。

可以解釋郵件信封和郵件標頭之間關係的最佳範例,就是在大公司中寄送傳統郵件的過程。假設您寫了一封正式的商業信函,信函頂端附上貴公司的地址與收件者的地址。接下來將信件交給公司的收發室人員處理。收發室人員根據您信函中的收件者資訊建立信封,將您的信函放入信封並封口,然後將這封信投入郵筒。郵局根據信封上的地址,將這封信送到收件者的公司。收件者公司的收發室人員收到信以後,根據信封判斷收件者、開啟信封,然後將信函放進收件者的個人信箱。收件者從其個人信箱取出信函後,從信函開頭處的敬致詞資訊中,就可以得知這封信是您寫給他 (她) 的。

收取目錄中的郵件檔案需求

複製到收取目錄的郵件檔案必須符合下列需求才能成功傳遞:

  • 郵件檔必須是符合基本 SMTP 郵件格式的文字檔。支援多用途網際網路郵件延伸標準 (MIME) 郵件標頭欄位及內容。

  • 郵件檔案的副檔名必須為 .eml。

  • 在郵件標頭中,SenderFrom: 郵件標頭欄位中必須至少要有一個電子郵件地址。如果單一電子郵件地址同時存在於 SenderFrom: 欄位中,則會使用 From: 欄位中的電子郵件地址作為郵件信封中的郵件建立者。

  • Sender 欄位中只能有一個電子郵件地址存在。不允許多個電子郵件地址。如果 From: 欄位中只有一個電子郵件地址存在,則寄件者欄位是選用的。

  • From: 欄位中允許多個電子郵件地址,但是單一個電子郵件地址也必須存在於 Sender 欄位中。這樣便會使用 Sender 欄位中的地址作為郵件信封中的郵件建立者。

  • To:Cc:Bcc: 欄位中必須至少有一個電子郵件地址存在。

  • 郵件標頭與郵件內文之間必須有一行空白行。

以下是純文字郵件的範例,該郵件使用收取目錄可接受的格式:

To: mary@contoso.com
From: bob@fabrikam.com
Subject: Message subject

This is the body of the message.

收取目錄郵件檔中也支援 MIME 內容。MIME 定義了廣泛的郵件內容,其中包括無法以 7 位元 ASCII 文字呈現的語言、HTML 以及其他多媒體內容。MIME 的完整描述及其需求不在本主題的討論範圍內。以下是簡單 MIME 郵件的範例,該郵件使用收取目錄可接受的格式:

To: mary@contoso.com
From: bob@fabrikam.com
Subject: Message subject
MIME-Version: 1.0
Content-Type: text/html; charset="iso-8859-1"
Content-Transfer-Encoding: 7bit

<HTML><BODY>
<TABLE>
<TR><TD>cell 1</TD><TD>cell 2</TD></TR>
<TR><TD>cell 3</TD><TD>cell 4</TD></TR>
</TABLE>

</BODY></HTML>

在收取目錄的郵件檔中修改郵件標頭

收取目錄會從郵件標頭移除以下任何的郵件標頭欄位:

  • Received:

  • Resent-*:

  • Bcc:   在郵件標頭中的選用 Bcc: 郵件標頭欄位中所發現的任何電子郵件地址都會正確處理。在 Bcc: 收件者提升為不可見的郵件信封收件者之後,他們會從信封標頭移除,以保護其身分。如果郵件只包含 Bcc: 收件者,則會在郵件標頭的 To: 欄位中新增 "Undisclosed Recipients" 值。

收取目錄會在郵件提交程序中,新增自己的 Received: 標頭欄位到郵件中。Received: 標頭欄位將以下列格式套用:

Received: from localhost by Pickup with Microsoft SMTP Server id <ExchangeServerVersion><datetime>

收取目錄會修改下列郵件標頭欄位 (如果遺失或格式錯誤的話):

  • Message-Id   如果 Message-Id 欄位遺失或空白,收取目錄會使用 <GUID>@<defaultdomain> 的格式新增 Message-Id 欄位。

  • Date:   如果 Date 欄位遺失或格式錯誤,收取目錄會新增收取目錄處理郵件時的日期和時間。

收取目錄郵件處理的失敗

複製到收取目錄的郵件檔案可能不會成功置入佇列等待傳遞。以下是可能發生的郵件提交失敗種類:

  • 傳遞失敗   格式正確的郵件檔案加上收取目錄無法成功提交傳遞的有效寄件者,會產生未傳遞回報 (NDR)。格式錯誤的內容或收取目錄郵件限制違規也可能導致收取目錄產生 NDR。當收取目錄處理郵件期間產生 NDR 時,原始的郵件檔案會附加到 NDR 郵件,而郵件檔案會從收取目錄刪除。

    note附註:
    由收取目錄提交、格式正確的郵件可能稍後會經歷傳遞失敗並與 NDR 一起送回給寄件者。這種失敗可能是由於與收取目錄無關的傳輸問題所導致,例如郵件伺服器失敗,或是郵件傳遞路徑上的路由失敗。
  • 錯誤郵件   被分類為錯誤郵件的郵件會有嚴重的問題,導致收取目錄無法提交郵件以便傳遞。其他導致錯誤郵件的狀況例如郵件格式正確,但收件者無效,且由於寄件者無效,而無法傳送 NDR 郵件給寄件者。

    被判定為錯誤郵件的郵件檔案會留在收取目錄中,並從 <filename>.eml 更名為 <filename>.bad。如果 <filename>.bad 檔已經存在,則會將檔案重新命名為 <filename><datetime>.bad。如果錯誤郵件存在於收取目錄中,會產生事件記錄錯誤,但相同的錯誤郵件不會產生重複的事件記錄錯誤。

note附註:
在您將郵件檔案複製到收取目錄以進行傳遞之前,請務必在不同的位置中進行撰寫與儲存。收取目錄會每 5 秒鐘檢查是否有新郵件。因此,如果您試圖在收取目錄中撰寫並儲存郵件檔案,則收取目錄可能會在您撰寫完畢之前便嘗試處理郵件檔案。

收取目錄的安全問題

Exchange Server 2003 使用單一的收取目錄來建立與提交文字郵件檔。Exchange 2007 則將此功能分割為獨立的收取目錄以及重新顯示目錄。收取目錄是供使用者或應用程式手動建立新郵件檔使用。重新顯示目錄則是要供重新提交已匯出的 Exchange 電子郵件,以及接收來自外部閘道伺服器的郵件。

下列清單描述收取目錄及重新顯示目錄常用的安全性考量:

  • 任何設定於接收連接器的安全檢查,例如反垃圾郵件、防毒、寄件者過濾,或是收件者過濾動作,都不會針對透過收取目錄或重新顯示目錄提交的郵件執行。

  • 遭入侵的收取目錄或重新顯示目錄可作為開放式轉送來運作。這會引發使用其他伺服器將郵件的真正來源遮罩起來,再重新提交或「轉送」郵件的行為。

將收取目錄及重新顯示目錄分離開來,表示您可以對每個目錄套用不同的安全性等級。重新顯示目錄應套用較嚴密的安全性,因為重新顯示目錄具有額外的安全性風險。可以授予必須產生並提交郵件的使用者或應用程式對收取目錄的存取,但是他們不應該要求對重新顯示目錄的存取。

所有 Hub Transport Server 與 Edge Transport Server 上預設都會啟用收取目錄和重新顯示目錄。若組織中的特定 Hub Transport Server 或 Edge Transport Server 不需要收取目錄或重新顯示目錄,可以停用該伺服器上的收取目錄或重新顯示目錄。如需相關資訊,請參閱下列主題:

收取目錄的權限

收取目錄需要下列權限:

  • 系統管理員:完全控制

  • 系統:完全控制

  • 網路服務:讀取、寫入及刪除子資料夾及檔案

依預設,Microsoft Exchange Transport 服務使用網路服務使用者帳戶的安全認證來管理收取目錄的位置和權限。網路服務帳戶需要對收取目錄擁有這些權限,才能夠開啟 .eml 檔案、更名成 .tmp 並刪除,或是在郵件分類為錯誤郵件時更名成 .bad。

您可以使用 Set-TransportServer 指令程式的 PickupDirectoryPath 參數來移動收取目錄的位置。成功變更收取目錄的位置取決於在新的收取目錄位置授與網路服務帳戶的權利,以及新的收取目錄是否已存在。如果新的收取目錄尚不存在,而網路服務帳戶具有建立資料夾所需的權利並在新的位置套用權限,則會建立新的收取目錄並套用正確的權限。如果新的收取目錄已存在,便不會檢查現有的資料夾權限。當您使用 Set-TransportServer 指令程式的 PickupDirectoryPath 參數來移動收取目錄時,驗證新的收取目錄存在且新目錄已套用了正確的權限,這麼做一定是不錯的。如果您對收取目錄的變更不成功,則可以在使用 Set-TransportServer 指令程式的 PickupDirectoryPath 參數之前,先建立新的收取目錄並套用正確的權限。

相關資訊

如需相關資訊,請參閱下列主題: