Sun Java System Messaging Server 6.3 管理指南

10.10.4 其他狀態通知郵件功能

設定狀態通知郵件的必要程序在先前的小節中有所說明。以下各節描述其他功能:

10.10.4.1 封鎖大型郵件的內容傳回

通常,當郵件被退回或封鎖時,該郵件的內容會傳回至寄件者和通知郵件中的本機網域 Postmaster。如果完整地傳回大量的大型郵件,則可能使資源負載過重。若要封鎖超過一定大小的郵件內容傳回,請設定 MTA 選項檔案中的 CONTENT_RETURN_BLOCK_LIMIT 選項。

MTA 可取回與訊息封傳回位址相關聯的區塊限制,而如果未指定傳回策略,且郵件大小超過區塊限制,MTA 將設定 RET=HDRS。這樣可以避免無法傳送大型郵件的未傳遞報告。沒有和此變更相關聯的新選項或設定。

10.10.4.2 從狀態通知郵件包含的標頭中移除非美國 ASCII 字元

網際網路郵件標頭的原始格式不允許包含非美國 ASCII 字元。如果在郵件標頭中使用非美國 ASCII 字元,則將使用 RFC 2047 中說明的「MIME 標頭編碼」對這些字元進行編碼。因此,電子郵件中文的「主旨」行將實際顯示為:

Subject: =?big5?Q?=A4j=AB=AC=A8=B1=AD=B1=B0=D3=F5=A5X=AF=B2?=

顯示標頭時由電子郵件用戶端負責移除編碼。

由於 %H 範本將標頭複製到通知郵件的內文,因此已編碼的標頭文字將正常顯示。但是,如果主旨中的字元集 (此例中為「big5」) 符合 return_prefix.txt 中的 Content-Type 標頭字元集參數中的字元集,則 Messaging Server 將移除編碼。如果不符合,Messaging Server 將保留此編碼不變。

10.10.4.3 設定通知郵件遞送間隔時間

關鍵字:noticesnonurgentnoticesnormalnoticesurgentnotices

無法遞送的郵件將在指定的通道佇列中保留一段指定時間,然後再傳回至寄件者。此外,在 Messaging Server 嘗試遞送時,會將一系列狀態/警告訊息傳回給寄件者。可以使用 noticesnonurgentnoticesnormalnoticesurgentnotices 關鍵字指定郵件之間的時間和間隔時間。範例:

notices 1 2 3

對於所有郵件,將在 1 到 2 天後傳送暫態失敗狀態通知郵件。如果 3 天後仍沒有遞送郵件,則該郵件將傳回給其創建者。

urgentnotices 2,4,6,8

對於緊急郵件,將在 2 天、4 天和 6 天後傳送暫態失敗通知郵件。如果 8 天後仍沒有遞送郵件,則該郵件將傳回給其創建者。

請注意,MTA 選項檔案中的 RETURN_UNITS 選項可讓您指定單位 (小時 [1] 或天 [0])。預設為天 (0)。如果設定 RETURN_UNITS=1,則需要將傳回工作排程為每小時執行一次以及每小時獲取一次通知。每小時執行一次傳回工作時,它還會每小時更新一次 mail.log* 檔案。若要防止每小時更新 mail.log 檔案,請在 imta.tailor 檔案中設定 IMTA_RETURN_SPLIT_PERIOD 調校檔案選項為 24。傳回工作排程由 local.schedule.return_job configutil 參數控制。但請注意,預設會定期執行此指令 (請參閱4.6.2 預先定義的自動作業)。

如果未指定 notices 關鍵字,預設將使用本機 l 通道的 notices 設定。如果未對本機通道進行設定,則預設將使用 notices 3, 6, 9, 12

10.10.4.4 在狀態通知郵件中包含已改變的位址

關鍵字:includefinalsuppressfinaluseintermediate

MTA 產生通知郵件 (退回郵件、遞送接收郵件等) 時,可能同時存在可用於 MTA 的收件人位址的「原始」格式和已變更的「最終」格式。MTA 會始終將原始格式 (假設存在) 包含在通知郵件中,因為這是通知郵件的收件者 (通知郵件所關心的原始郵件寄件者) 最可能識別的格式。

includefinalsuppressfinal 通道關鍵字控制 MTA 是否還包含最終格式的位址。抑制包含最終格式的位址可能適用於要對外界「隱藏」其內部電子信箱名稱的網站。此類網站可能僅會將原始「外部」格式的位址包含在狀態通知郵件中。includefinal 為預設值,包含收件者位址的最終格式。如果原始位址存在,suppressfinal 會使 MTA 抑制狀態通知郵件中的最終位址格式。

useintermediate 關鍵字使用在清單延伸之後,但在使用者電子信箱名稱產生之前產生的中間格式。如果該資訊不可用,則使用最終格式。

10.10.4.5 對 Postmaster 傳送、封鎖和指定狀態通知郵件

依預設,除非傳回錯誤且空白 Errors-to: 標頭行或空白訊息封 From: 位址完全抑制警告,否則失敗副本和警告狀態通知郵件會傳送至 Postmaster。可透過以下小節以及表 10–12 中說明的通道關鍵字控制來進一步精確地控制傳送至 Postmaster 的通知郵件。本節包含以下小節:

傳回失敗郵件

關鍵字:sendpostnosendpostcopysendposterrsendpost

通道程式可能無法遞送郵件,原因為長期服務失敗或位址無效。發生這種情況時,MTA 通道程式會將郵件傳回給寄件者,並附帶郵件未遞送的原因說明。可選擇將所有失敗的郵件副本傳送至本機 Postmaster。這對監視郵件失敗十分有用,但可能會導致 Postmaster 必須處理過多的通訊 (請參閱表 10–12)。

警告郵件

關鍵字:warnpostnowarnpostcopywarnposterrwarnpost

除傳回郵件之外,MTA 還可以傳送未遞送郵件的詳細警告。這通常是由於 notices 通道關鍵字的設定而引起的逾時導致,雖然在某些情況下,通道程式可以在遞送嘗試失敗後產生警告郵件。警告郵件包含故障和傳送嘗試持續時間的說明。在大多數情況下,它們還包含問題郵件的標頭和前幾行。

還可以將所有警告郵件的副本傳送給本地 Postmaster (可選擇)。這對監視各個佇列的狀態可能十分有用,雖然它可能會導致 Postmaster 處理大量的通訊。關鍵字 warnpostcopywarnposterrwarnpostnowarnpost 用於控制向 Postmaster 傳送警告郵件 (請參閱表 10–12)。

空白訊息封傳回位址

關鍵字:returnenvelope

returnenvelope 關鍵字使用轉譯為一組位元旗標的單一整數值。位元 0 (值 = 1) 控制由 MTA 產生的傳回通知是使用空白訊息封位址,還是本地 Postmaster 的位址。設定該位元將強制使用本地 Postmaster 位址;清除該位元將強制使用空白位址。


備註 –

RFC 1123 強制使用空白位址。但是,某些系統無法正確處理空白訊息封 From: 位址,但可能又需要使用此選項。


位元 1 (值 = 2) 控制 MTA 是否使用本機 Postmaster 位址替代所有空白訊息封位址。此選項適用於不符合 RFC 821、RFC 822 或 RFC 1123 的不相容系統。

位元 2 (值 = 4) 禁止使用語法上無效的傳回位址。

位元 3 (值 = 8) 與 mailfromdnsverify 關鍵字相同。

Postmaster 返回的郵件內容

關鍵字:postheadonlypostheadbody

通道程式或定期郵件傳回工作將郵件傳回給 Postmaster 和原始寄件者時,Postmaster 副本可以是整個郵件,也可以僅是標頭。將 Postmaster 副本限制為標頭,可以增加使用者郵件的保密層級。但是,它本身並不保證郵件的安全性;Postmaster 和系統管理員通常可以使用 root 系統權限讀取郵件的內容 (如果他們選擇這麼做) (請參閱表 10–12)。

設定每個通道的 Postmaster 位址

關鍵字:aliaspostmasterreturnaddressnoreturnaddressreturnpersonalnoreturnpersonal

依預設,Postmaster 的傳回位址 (MTA 建構退回郵件或狀態通知郵件時所使用的位址) 為 postmaster@local-host,其中,local-host 為正式的本地主機名稱 (本機通道上的名稱),Postmaster 的個人名稱為「MTA e-Mail Interconnect」。選取 Postmaster 位址時應小心 — 非法的選取可能會導致快速的郵件迴圈,並產生大量錯誤訊息。

RETURN_ADDRESSRETURN_PERSONAL 選項可用於設定 MTA 系統的預設 Postmaster 位址和個人名稱。或者,如果需要控制每個通道,可以使用 returnaddressreturnpersonal 通道關鍵字。returnaddressreturnpersonal 均使用必需的引數分別指定 Postmaster 位址和 Postmaster 個人名稱。noreturnaddressnoreturnpersonal 為預設,表示應使用預設值。這兩個預設是經由 RETURN_ADDRESSRETURN_PERSONAL 選項,或一般預設值 (如果未設定這些選項) 建立的。

如果將 aliaspostmaster 關鍵字置於通道上,則按正式通道名稱傳送給使用者名稱 postmaster (小寫、大寫或大小寫混合) 的所有郵件將重新導向至 postmaster@local-host,其中,local-host 是正式的本地主機名稱 (本機通道上的名稱)。請注意,網際網路標準要求 DNS 中接受郵件的任何網域均需具有接收郵件的有效 Postmaster 帳號。因此,在需要集中 Postmaster 的責任,而不是為單獨的網域設定單獨的 Postmaster 帳號時,該關鍵字將十分有用。亦即由於 returnaddress 可以控制 MTA 從 Postmaster 產生通知郵件時,所使用的 Postmaster 傳回位址,aliaspostmaster 將影響 MTA 對傳送至 Postmaster 的郵件之處理。

表 10–12 用於將通知郵件傳送至 Postmaster 和寄件者的關鍵字

關鍵字 

說明 

傳回的郵件內容

指定通知的位址

notices

指定傳送通知和傳回郵件之前所消耗的時間。 

nonurgentnotices

指定為非緊急郵件傳送通知和傳回郵件之前所消耗的時間。 

normalnotices

指定為一般優先級郵件傳送通知和傳回郵件之前所消耗的時間。 

urgentnotices

指定為緊急郵件傳送通知和傳回郵件之前所消耗的時間。 

傳回的郵件

如何處理傳回郵件的失敗通知。

sendpost

啟用將所有失敗郵件的副本傳送至 postmaster 的功能。 

copysendpost

將失敗通知的副本傳送給 Postmaster (除非失敗郵件的創建者位址為空),此時,Postmaster 將收到所有失敗郵件的副本 (退回郵件或通知郵件除外)。 

errsendpost

僅當無法將失敗通知傳回給創建者時,才將其副本傳送給 postmaster。如果指定了 nosendpost,則不會向 Postmaster 傳送失敗郵件。

nosendpost

停用將所有失敗郵件的副本傳送至 postmaster 的功能。 

警告郵件

如何處理警告郵件。

warnpost

啟用將警告郵件的副本傳送至 postmaster 的功能。預設為將警告副本傳送至 Postmaster (除非使用空白 Warnings-to: 標頭或空白訊息封 From: 位址完全抑制警告)。

copywarnpost

除非未遞送郵件的創建者位址為空,否則將警告郵件的副本傳送至 postmaster。 

errwarnpost

僅當無法將警告通知傳回給創建者時,才將警告郵件的副本傳送給 postmaster。 

nowarnpost

停用將警告郵件的副本傳送至 postmaster 的功能。 

傳回的郵件內容

指定向 Postmaster 傳送整個郵件,還是僅傳送標頭。

postheadonly

僅將標頭傳回給 postmaster。將 Postmaster 副本限制為標頭,可以增加使用者郵件的保密層級。但是,這並不能保證郵件的安全性,因為 Postmaster 和系統管理員可以使用 root 系統權限讀取郵件的內容 (如果他們選擇這麼做)。

postheadbody

傳回郵件的標頭和內容。 

傳回的郵件內容

指定通知的位址

includefinal

在遞送通知中包含最終格式的位址 (收件者位址)。 

returnenvelope

控制空白訊息封傳回位址的使用。returnenvelope 關鍵字使用轉譯為一組位元旗標的單一整數值。

位元 0 (值 = 1) 控制由 MTA 產生的傳回通知是使用空白訊息封位址,還是本地 Postmaster 的位址。設定該位元將強制使用本地 Postmaster 位址;清除該位元將強制使用空白位址。 

位元 1 (值 = 2) 控制 MTA 是否使用本機 Postmaster 位址替代所有空白訊息封位址。此選項適用於不符合 RFC 821、RFC 822 或 RFC 1123 的不相容系統。

位元 2 (值 = 4) 禁止使用語法上無效的傳回位址。 

位元 3 (值 = 8) 與 mailfromdnsverify 關鍵字相同。

suppressfinal

抑制通知郵件中的最終位址格式,如果通知郵件中存在原始位址格式。 

useintermediate

使用在清單延伸之後但在使用者電子信箱名稱產生之前產生的中間格式。如果該資訊不可用,則使用最終格式。 

傳回的郵件內容

指定通知的位址

aliaspostmaster

按法定通道名稱傳送給使用者名稱 (postmaster) 的郵件被重新導向至 postmaster@local-host,其中 local-host 是本地主機名稱 (本地通道上的名稱)。 

returnaddress

指定本地 postmaster 的傳回位址。 

noreturnaddress

使用 RETURN_ADDRESS 選項值做為 Postmaster 位址名稱。

returnpersonal

設定本地 postmaster 的個人名稱。 

noreturnpersonal

使用 RETURN_PERSONAL 選項值做為 Postmaster 個人名稱。