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

PARSE_RE_0, PARSE_RE_1, ..., PARSE_RE_9

(字串,UTF-8 常規表示式) 對於行動電話源電子郵件,閘道設定檔需要從 SMS 郵件的文字中擷取目標電子郵件位址。透過一個或多個符合 POSIX 的常規表示式 (RE) 可以達此目的。SMS 郵件文字將由每個常規表示式進行評估,直至找到產生目標電子郵件位址的相符項目,或者用完所有常規表示式為止。


備註 –

PARSE_RE_*ROUTE_TO 選項互相排斥。在同一閘道設定檔中同時使用這兩個選項會造成配置錯誤。


每個常規表示式必須符合 POSIX,並且用 UTF-8 字元集編碼。這些常規表示式必須輸出字串 0 作為目標位址。它們可能會選擇性地輸出 Subject: 標頭行中使用的文字做為字串 1,輸出郵件內文中使用的文字做為字串 2。未被常規表示式「消耗」的任何文字還可用於郵件內文,位於任何做為字串 2 輸出的文字之後。

以 PARSE_RE_0、PARSE_RE_1、 ...,直至 PARSE_RE_9 的順序嘗試常規表示式。如果未指定常規表示式,則使用以下預設常規表示式︰

[ \t]*([^\( ]*)[ \t]*(?:\(([^\)]*\))?[ \t]*(.*)

此預設常規表示式分成以下部分:

[ \t]*

忽略前導空格字元 (SPACETAB)。

([^\( ]*)

目標電子郵件位址。此為第一個報告字串。

[ \t]*

忽略空格字元。

(?:\(([^\)]*)$1\))?

括號中的是可選主旨文字。此為第二個報告字串。前導 ?: 導致外括號不會報告字串。它們僅用於將其內容分組為尾隨字元 ? 的單一 RE。尾隨字元 ? 會使此 RE 元件僅比對零或一次,相當於表示式 {0,1}。

[ \t]*

忽略空格字元。

(.*)

在郵件內文中保留文字。此為第三個報告字串。

例如,使用上述常規表示式,範例 SMS 郵件:

dan@sesta.com(Testing)This is a test

可得出電子郵件:


To: dan@sesta.com
Subject: Testing

This is a test

在第二個範例中,SMS 郵件:

sue@sesta.com This is another test

會得到:

To: sue@sesta.com

This is another test

請注意,SMS 郵件在使用上述常規表示式進行評估前將轉譯成 Unicode 的編碼。翻譯的文字會由之前從 UTF-8 轉換為 UTF-16 的常規表示式進行評估。評估結果會針對目標電子郵件位址翻譯為 US-ASCII,針對 Subject: 文字翻譯為 EMAIL_HEADER_CHARSET (如果有),針對郵件內文翻譯為 EMAIL_BODY_CHARSET (如果有)。