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

使用轉換通道環境變數

對郵件內文部分作業時,環境變數通常用於將 MIME 標頭行資訊或整個內文部分傳送至站點提供的程式或從站點提供的程式傳送 MIME 標頭行資訊或整個內文部分。例如,程式可能需要 Content-typeContent-disposition 標頭行資訊以及郵件內文部分。站點提供的程式之主要輸入內容,通常是從檔案中讀取的郵件內文部分。處理完內文部分後,程式需要將其寫入檔案,以供轉換通道讀取。此種資訊傳送方式就透過轉換通道環境變數來實現。

使用 parameter-symbol-* 參數或一組預先定義的 conversion 通道環境變數 (請參閱使用轉換通道輸出選項),即可在 conversions 檔案中建立環境變數。

以下 conversions 檔案項目和內送標頭顯示如何使用環境變數將 MIME 資訊傳送至站點提供的程式。

conversions 檔案項目:


in-channel=*; in-type=application; in-subtype=*;
  parameter-symbol-0=NAME; parameter-copy-0=*;
  dparameter-symbol-0=FILENAME; dparameter-copy-0=*;
  message-header-file=2; original-header-file=1;
  override-header-file=1; override-option-file=1;
  command="/bin/viro-scan500.sh ”INPUT_FILE’ ”OUTPUT_FILE’"
 

送進的標頭:


Content-type: APPLICATION/msword; name=Draft1.doc
Content-transfer-encoding: BASE64
Content-disposition: attachment; filename=Draft1.doc
Content-description: "Project documentation Draft1 msword format"

in-channel=*; in-type=application; in-subtype=* 指定將會處理來自任何 application 類型的輸入通道之郵件內文部分。

parameter-symbol-0=NAME 指定第一個 Content-type 參數值 (在範例中為 Draft1.doc) 儲存在名為 NAME 的環境變數中。

parameter-copy-0=* 指定輸入內文部分的所有 Content-type 參數均複製到輸出內文部分。

dparameter-symbol-0=FILENAME 指定第一個 Content-disposition 參數值 (範例中為 Draft1.doc) 儲存在名為 FILENAME 的環境變數中。

dparameter-copy-0=* 指定輸入內文部分的所有 Content-disposition 參數均複製到輸出內文部分。

message-header-file=2 指定將郵件的原始標頭作為一個整體 (最外層的郵件標頭) 寫入由環境變數 MESSAGE_HEADERS 指定的檔案中。

original-header-file=1 指定將含括 MESSAGE/RFC822 的部分之原始標頭寫入由環境變數 ORIGINAL_HEADERS 指定的檔案中。

override-header-file=1 指定從由環境變數 OUTPUT_HEADERS 指定的檔案中讀取 MIME 標頭,以置換含括 MIME 的部分中的原始 MIME 標頭行。$OUTPUT_HEADERS 是執行轉換時建立的即時暫存檔。站點提供的程式會使用此檔案在轉換過程中儲存變更的 MIME 標頭行。而轉換通道會在重新組合內文部分時,從此檔案中讀取 MIME 標頭行。請注意,只有 MIME 標頭行可以修改。其他一般的非 MIME 標頭行無法由轉換通道變更。

override-option-file=1 指定 conversion 通道將會從 OUTPUT_OPTIONS 環境變數命名的檔案中讀取 conversion 通道選項。請參閱使用轉換通道輸出選項

command="msg_svr_base/bin/viro-scan500.sh" 指定要對郵件內文部分執行的指令。

表 13–3 轉換通道環境變數

環境變數 

說明 

ATTACHMENT_NUMBER

目前部分的附件編號。其格式與 ATTACHMENT-NUMBER 轉換匹配參數的格式相同。 

CONVERSION_TAG

目前使用中的轉換標記之清單。對應於TAG 轉換匹配參數。 

INPUT_CHANNEL

使郵件在轉換通道上形成佇列的通道。對應於 IN-CHANNEL 轉換匹配參數。 

INPUT_ENCODING

內文部分原始具備的編碼。 

INPUT_FILE

包含原始內文部分的檔案之名稱。站點提供的程式應讀取此檔案。 

INPUT_HEADERS

包含內文部分原始標頭行的檔案之名稱。站點提供的程式應讀取此檔案。 

INPUT_TYPE

輸入郵件部分的 MIME Content-type

INPUT_SUBTYPE

輸入郵件部分的 MIME 內容子類型。 

INPUT_DESCRIPTION

輸入郵件部分的 MIME content-description

INPUT_DISPOSITION

輸入郵件部分的 MIME content-disposition

MESSAGE_HEADERS

檔案名稱,該檔案包含含括郵件 (不只是內文部分) 最外層的原始標頭或是最直接含括 MESSAGE/RFC822 部分的內文部分之標頭。站點提供的程式應讀取此檔案。 

OUTPUT_CHANNEL

郵件輸出的通道。對應於 OUT-CHANNEL 轉換匹配參數。 

OUTPUT_FILE

站點提供的程式用於儲存其輸出的檔案之名稱。站點提供的程式應建立並寫入此檔案。 

OUTPUT_HEADERS

站點提供的程式用於儲存含括部分的 MIME 標頭行的檔案之名稱。站點提供的程式應建立並寫入此檔案。請注意,檔案應包含實際 MIME 標頭行 (而非 option=value 行),後接一空行做為最後一行。另請注意,只有 MIME 標頭行可以修改。其他一般的非 MIME 標頭行無法由轉換通道變更。

OUTPUT_OPTIONS

站點提供的程式讀取轉換通道選項時所用的檔案之名稱。請參閱使用轉換通道輸出選項

PART_NUMBER

目前部分的部分編號。其格式與 PART-NUMBER 轉換匹配參數的格式相同。 

PART_SIZE

正在處理的部分之大小以位元組為單位。 

郵件轉換標記

郵件轉換標記是與特定收件者或寄件者相關的特殊標記。投遞郵件時,標記對轉換通道程式可見,後者可利用此標記進行特殊處理。轉換標記儲存在 LDAP 目錄中。

可按如下方法使用郵件轉換標記:管理員可使用 harmonica 的郵件轉換標記值設置選取的使用者。這樣,管理員就擁有了一個 conversion 通道設置,它將在處理郵件時偵測標記是否存在以及 harmonica 的值。上述情況發生時,該程式會執行某一任意功能。

郵件轉換標記可根據使用者或網域進行設定。網域層級的收件者 LDAP 屬性為 MailDomainConversionTag (可使用 MTA 選項 LDAP_DOMAIN_ATTR_CONVERSION_TAG 進行修改)。使用者層級的收件者 LDAP 屬性為 MailConversionTag (可使用 MTA 選項 LDAP_CONVERSION_TAG 進行修改)。兩個屬性均可以有多個值,且每個值均指定一個不同的標記。與給定收件者相關的標記組是可累積的,即在網域層級設置的標記可與在使用者層級設置的標記進行合併。

基於寄件者的轉換標記可使用 MTA 選項 LDAP_SOURCE_CONVERSION_TAGLDAP_DOMAIN_ATTR_SOURCE_CONVERSION_TAG, 進行設定,這兩個選項分別為與這些來源位址相關的轉換標記指定使用者層級和網域層級的 LDAP 屬性。這些選項均沒有預設屬性。