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

配置標頭處理

本節描述用於處理標頭和訊息封資訊的關鍵字。包含以下各節:

重寫內嵌式標頭

關鍵字:noinnerinner

只有在必要時才會解譯標頭行的內容。但是,由於 MIME 郵件中可以嵌入郵件 (郵件/RFC822),因此可以包含多組郵件標頭。MTA 通常只會解譯和重寫最外面一組郵件標頭。也可以選擇告知 MTA 將標頭重寫套用於郵件中的內部標頭。

可以使用 noinnerinner 關鍵字來控制此運作方式。關鍵字 noinner 告知 MTA 不重寫內部郵件標頭行。這是預設。關鍵字 inner 告知 MTA 剖析郵件並重寫內部標頭。這些關鍵字適用於任何通道。

移除選取的郵件標頭行

關鍵字:headertrimnoheadertrimheaderreadnoheaderreadinnertrimnoinnertrim

MTA 提供針對各通道在郵件中修整或移除選取的郵件標頭行的功能。此功能透過通道關鍵字與一個或兩個關聯標頭選項檔案組合而實現。「Sun Java System Messaging Server 6 2005Q4 Administration Reference」中的「Header Option Files」

headertrim 關鍵字指示 MTA 在處理原始郵件標頭之後,諮詢與通道關聯的標頭選項檔案,並相應地修整已在目標通道上形成佇列的郵件之標頭。noheadertrim 關鍵字會略過標頭修整。noheadertrim 關鍵字為預設。

innertrim 關鍵字還指示 MTA 對內部郵件部分 (亦即內嵌的 MESSAGE/RFC822 部分) 執行標頭修整。noinnertrim 關鍵字為預設,告知 MTA 不對內部郵件部分執行任何標頭修整。

headerread 關鍵字指示 MTA 在處理原始郵件標頭之前,諮詢與通道關聯的標頭選項檔案,並相應地修整由來源通道形成佇列的郵件中的標頭。請注意,另一方面,headertrim 標頭修整是在處理郵件之後套用的,而且是針對目標通道而非來源通道。noheaderread 關鍵字會略過形成佇列的郵件之標頭修整。noheaderread 為預設。

headeromitheaderbottom 關鍵字不同,headertrimheaderread 關鍵字適用於任何通道。但請注意,刪除郵件中的重要標頭資訊,可能會導致 MTA 作業發生錯誤。當您選擇移除或限制標頭時,必須極其謹慎。此功能的存在是因為偶爾會有一些情況,必須要移除或限制選取的標頭行。


注意 – 注意 –

刪除郵件中的標頭資訊可能會導致 MTA 作業發生錯誤。當您選擇移除或限制標頭時,必須謹慎。在一些罕見的情況下,必須移除或限制選取的標頭行,這些關鍵字就是為此而提供的。修整或移除任何標題行之前,您必須瞭解標頭行的用法,並考量移除該標題行可能會牽涉到哪些方面。


headertriminnertrim 關鍵字之標頭選項檔案的名稱形式為 channel_headers.opt,其中 channel 是標頭選項檔案關聯的通道名稱。同樣,headerread 關鍵字之標頭選項檔案的名稱形式為 channel_read_headers.opt。這些檔案儲存在 MTA 配置目錄 instance_root/imta/config/ 中。

產生/移除 X-Envelope-to 標頭行

關鍵字:x_env_tonox_env_to

x_env_tonox_env_to 關鍵字控制在特定通道上形成佇列之郵件副本中 X-Envelope-to 標頭行的產生和抑制。在使用 single 關鍵字標記的通道上,x_env_to 關鍵字可產生這些標頭,而 nox_env_to 則從形成佇列的郵件中移除此類標頭。預設為 nox_env_to

x_env_to 關鍵字還需要 single 關鍵字才能生效。

轉換日期為兩位數或四位數

關鍵字:datefourdatetwo

原始 RFC 822 規格在郵件標頭的日期欄位中需要兩位數年份。後來 RFC 1123 將其變更為四位數。但是,某些較舊的郵件系統無法使用四位數日期。此外,一些較新的郵件系統無法再接受兩位數日期。


備註 –

無法處理這兩種格式的系統是違反標準的。


datefourdatetwo 關鍵字控制 MTA 對郵件標頭日期中年份欄位的處理方式。關鍵字 datefour 為預設,指示 MTA 將所有年份欄位擴充為四位數。小於 50 的兩位數日期加上 2000,大於 50 的則加上 1900。


注意 – 注意 –

關鍵字 datetwo 指示 MTA 移除四位數日期中的前兩位數。這是為了與需要兩位數日期的不符合郵件系統相容;不應用於其他任何目的。


在日期中指定星期

關鍵字:dayofweeknodayofweek

RFC 822 規格允許在郵件標頭的日期欄位前面加上星期規格。但是,有些系統無法適應星期資訊。這使某些系統不願納入此資訊,即使此資訊在標頭中非常有用。

dayofweeknodayofweek 關鍵字控制 MTA 對星期資訊的處理。關鍵字 dayofweek 為預設,指示 MTA 保留任何星期資訊,如果日期和時間標頭中缺少此資訊,則增加此資訊。


注意 – 注意 –

關鍵字 nodayofweek 指示 MTA 從日期和時間標頭中移除前面的所有星期資訊。這是為了與無法正確處理此資訊的不符合郵件系統相容;不應用於其他任何目的。


自動分割長標頭行

關鍵字:maxheaderaddrsmaxheaderchars

某些郵件傳送程式 (尤其是某些實作) 無法正確處理長標頭行。這不但經常造成標頭損毀,還造成錯誤的郵件拒絕。雖然嚴重違反標準,但卻是一個常見問題。

MTA 提供針對通道將長標頭行分割 (換行) 為多個各自獨立的標頭行的功能。maxheaderaddrs 關鍵字控制一行中可以顯示的位址數。maxheaderchars 關鍵字控制一行中可以顯示的字元數。這兩個關鍵字都需要單一整數參數,以指定相關限制。依預設,標頭行的長度和可以顯示的位址數均無限制。

標頭對齊和摺疊

關鍵字:headerlabelalignheaderlinelength

headerlabelalign 關鍵字控制在此通道上形成佇列的郵件標頭之對齊點;其為值為整數的引數。對齊點就是標頭內容對齊時的邊界。例如,對齊點為 10 的範例標頭行外觀如下:


To:       joe@siroe.com
From:     mary@siroe.com
Subject:  Alignment test
         

預設 headerlabelalign 為 0,這將使標頭不會對齊。headerlinelength 關鍵字可控制在此通道上形成佇列的郵件標頭行的長度。超過此長度的行根據 RFC 822 摺疊規則進行摺疊。

這些關鍵字僅控制郵件佇列中郵件的標頭格式;標頭的實際顯示通常由使用者代理程式控制。此外,標頭在網際網路上傳送時會依慣例重新格式化,因此這些關鍵字即使與不重新格式化郵件標頭的簡易使用者代理程式一併使用,可能也沒有什麼明顯效果。

指定標頭最大長度

關鍵字:maxprocchars

處理包含大量位址的長標頭行會消耗大量的系統資源。maxprocchars 關鍵字用於指定 MTA 可以處理和重寫的標頭之最大長度。標頭超過此長度的郵件仍會被接受和遞送;唯一不同之處是長標頭行不會進行任何重寫。需要單一整數引數。預設為處理任何長度的標頭。

敏感性檢查

關鍵字:sensitivitynormalsensitivitypersonalsensitivityprivatesensitivitycompanyconfidential

敏感性檢查關鍵字可設定通道可接受之郵件的敏感性上限。預設為 sensitivitycompanyconfidential;可接受所有敏感性的郵件。沒有 Sensitivity: 標頭的郵件會被視為一般郵件,即最低敏感性的郵件。敏感性高於此關鍵字指定敏感性的郵件,在通道上形成佇列時會被拒絕,螢幕上會顯示以下錯誤訊息:

message too sensitive for one or more paths used

請注意,MTA 會針對每封郵件進行敏感性檢查,而非針對各收件者進行檢查:如果一位收件者的目標通道無法通過敏感性檢查,則對於所有的收件者,該郵件均被退回,而不只是針對與敏感通道關聯的那些收件者。

設定標頭中的預設語言

關鍵字:language

標頭中的編碼文字可以使用特定語言。language 關鍵字指定預設語言。