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

附件和 MIME 處理

本節描述用於處理附件和處理的關鍵字。包含以下各節:

忽略 Encoding 標頭行

關鍵字:ignoreencodinginterpretencoding

MTA 可使用 Yes CHARSET-CONVERSION 將各種非標準郵件格式轉換為 MIME。尤其是,使用非標準 Encoding: 標頭行的 RFC 1154 格式。但是,有些閘道會在此標頭行上加入錯誤的資訊,從而導致有時忽略此標頭行更好。ignoreencoding 關鍵字指示 MTA 忽略任一 Encoding: 標頭行。


備註 –

除非 MTA 已啟用 CHARSET-CONVERSION,否則此類標頭在任何情況下都會被忽略。interpretencoding 關鍵字可指示 MTA 注意任一 Encoding: 標頭行 (如果配置為執行此動作),而且該關鍵字為預設。


郵件/部分郵件的自動重新整理

關鍵字:defragmentnodefragment

MIME 標準提供郵件部分內容類型以將郵件斷成較小的部分。郵件必須通過有大小限制或不可靠的網路時,這項功能會很有用,郵件分段程序提供「檢查點」表單,在網路於郵件傳輸期間發生故障時,可減少後續重複傳輸工作。每個部分均包含資訊,使郵件在到達目的地之後可以自動重新組合。

defragment 通道關鍵字和重新整理通道可用於在 MTA 中重新組合郵件。通道標記為 defragment 時,在通道上形成佇列的所有部分郵件都會改為置於重新整理通道佇列中。所有部分均到達之後,郵件就會重建並傳送出去。nodefragment 停用這種特殊處理。關鍵字 nodefragment 為預設。

重新整理通道保留時間

郵件僅在磁碟重新整理通道佇列中保留有限時間。如果第一條未投遞通知被傳送之前時間已過半,則郵件各部分無需重新組合即會繼續傳送。這種時間值的選擇會避免傳送有關磁碟重新整理通道佇列中郵件的未投遞通知。

notices 通道關鍵字控制傳送未傳送通知之前的時間長度,從而也控制按部分傳送郵件之前保留郵件的時間長度。請將 notices 關鍵字的值設定為希望保留郵件之時間長度的兩倍 (以進行可能的重新整理)。例如,notices 值為 4 時會將郵件片段保留兩天:


defragment notices 4 
DEFRAGMENT-DAEMON

大型郵件的自動分段程序

關鍵字: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 關鍵字一同運作。

設定郵件行長度限制

關鍵字:linelength

SMTP 規格允許文字行最多包含 1000 個位元組。但是,有些傳送程式可以對行長度設定更嚴格的限制。linelength 關鍵字提供一種機制,可逐個通道地限制允許的最大郵件行長度。對於在給定通道上形成佇列的郵件,如果有行長度超過為該通道指定的限制,則該郵件會被自動編碼。

MTA 中可用的各種編碼總會使行長度縮減到 80 個字元以下。執行上述編碼之後,透過套用適當的解碼篩選器,即可回復原始郵件。


備註 –

編碼僅能將行長度縮減到 80 個字元以下。低於 80 的行長度值規格可能無法正確產生長度符合指定限制的行。


linelength 關鍵字可使資料編碼執行「軟」換行,以進行傳輸。編碼通常是在接收端執行解碼,以回復原始「長」行。如需瞭解「硬」換行,請參閱表 13–7 中的「Record, text」。