Sun Java System Messaging Server 6 2005Q4 管理指南

大型郵件的自動分段程序

關鍵字:maxblocksmaxlines

有些電子郵件系統或網路傳送程式無法處理超過特定大小限制的郵件。MTA 提供可逐個通道地強加此類限制的功能。大於設定限制的郵件將會自動分割 (分段) 成多個較小的郵件。用於此類分段的內容類型為 message/partial,並且會增加唯一的 ID 參數,使同一郵件的各個部分互相關聯,並可以由接收郵件程式自動重新組合。

maxblocksmaxlines 關鍵字可用於強加大小限制,超過此限制便會啟動自動分段程序。這兩個關鍵字之後都必須有單一整數值。關鍵字 maxblocks 指定郵件中允許的最大區塊數量。MTA 區塊通常為 1024 個位元組;可以透過 MTA 選項檔案中的 BLOCK_SIZE 選項變更此值。關鍵字 maxlines 指定郵件中允許的最大行數。如有必要,可同時設定這兩個限制。

在某種程度上郵件標頭包含在郵件的大小中。由於郵件標頭無法分割成多封郵件,可是它們本身也可能超過指定的大小限制,因此有一種更複雜的機制用於計算郵件標頭大小。此邏輯由 MTA 選項檔案中的 MAX_HEADER_BLOCK_USEMAX_HEADER_LINE_USE 選項控制。

MAX_HEADER_BLOCK_USE 用於指定 0 到 1 之間的實數。預設值為 0.5。郵件的標頭幾乎可以佔用郵件可消耗的區塊總數 (由 maxblocks 關鍵字指定)。如果郵件標頭超過此大小,MTA 會將 MAX_HEADER_BLOCK_USEmaxblocks 的乘積做為標頭的大小 (標頭 大小會使用實際標頭大小和 maxblocks 兩者中較小的值) * MAX_HEADER_BLOCK_USE

例如,如果 maxblocks 為 10,而 MAX_HEADER_BLOCK_USE 為預設值 0.5,任何大於 5 個區塊的郵件標頭都會被視為 5 區塊標頭,而如果郵件大小等於或小於 5 個區塊,將不會被分段。數值 0 會使標頭在有關郵件大小限制範圍內被實際忽略。

數值 1 允許標頭用完所有可用的大小。每個分段始終至少包含一個郵件行而不論此郵件行是否超過限制。MAX_HEADER_LINE_USE 以類似的方式和 maxlines 關鍵字一同運作。