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

網站定義的文字轉換

網站可自訂步驟 1 - 6,如 MTA 對映檔案中的對映表電子郵件至 SMS 轉換程序中所述。

對映表的名稱應為 SMS_Channel_TEXT,其中,SMS_Channel 為 SMS 通道名稱;例如,SMS_TEXT (如果通道名為 sms) 或 SMS_MWAY_TEXT (如果通道名為 sms_mway)。

在此對映表中可以建立兩種項目類型。但是在詳細說明這些項目的格式之前,清楚瞭解如何使用對映檔案非常重要,這樣才能瞭解如何建構並使用這些項目。在說明這兩種項目類型之後,我們會提供範例對映表。

目前此兩種項目類型是:

郵件標頭項目

這些項目指定哪些郵件標頭行應包含在 SMS 郵件中,以及應如何縮寫或轉換它們。僅當標頭行透過這些項目之一成功對映至一個非零長度的字串時,它才會包含在將要產生的 SMS 郵件中。每個項目的格式如下

H|pattern replacement-text

如果郵件標頭行符合此式樣,則系統將使用符合的對映檔案的式樣與字串替代功能以替代文字 replacement-text 替代該郵件標頭行。然後,標頭行對映的最終結果將包含在 SMS 郵件中 (如果取代文字內指定了中介字元 $Y)。如果標頭行不符合任何式樣字串,或者對映至一個零長度字串,又或者取代文字中未指定中介字元 $Y,則 SMS 郵件會忽略此標頭行。以下兩個項目


H|From:* F:$0$Y 
H|Subject:* S:$0$Y

導致 From:Subject: 標頭行包含在 SMS 郵件中,且 From:Subject: 縮寫為 F:S:。以下項目:


H|Date:* H|D:$0$R$Y 
H|D:*,*%19%%*:*:* H|D:$0$ $5:$6$R$Y

導致 Date: 標頭行被接受並可進行對映,例如標頭行

Date: Wed, 16 Dec 1992 16:13:27 -0700 (PDT)

將被轉換成

D: Wed 16:13

可以建立極為複雜的反覆式對映。網站如果要設定自訂篩選器,首先就需要瞭解對映檔案是如何運作的。如有必要,可以省略項目右側的 H|。保留右側的 H|,以便減少各組反覆式對映所需要的表格項目數量。

郵件內文項目

這些項目建立的對映會套用於郵件內文中的每一行。郵件內文中的每一行在併入即將建立的 SMS 郵件之前都會通過這些對映。這些項目格式如下:

B|pattern B| replacement-text

如果郵件內文中某一行符合 pattern 的式樣,則會被替代文字 replacement-text 所替代。使用此功能也可以建構極為複雜的反覆式對映。如有必要,可以省略項目右側的 B|。

範例 SMS 對映表

SMS_TEXT 對映表範例在範例 D–1 中顯示。每一行末端括號內的數字都對應於此表格之後名為說明文字的小節中的項目編號。


範例 D–1 範例 SMS_TEXT 對映表。


SMS_TEXT

   H|From:*        H|F:$0$R$Y       (1)
   H|Subject:*     H|S:$0$R$Y       (1)
   H|F:*<*>*       H|F:$1$R$Y       ()
   H|F:*(*)*       H|F:$0$2$R$Y     (2)
   H|F:*"*"*       H|F:$0$2$R$Y     (3)
   H|F:*@*         H|F:$0$R$Y       (4)
   H|%:$ *         H|$0:$1$R$Y      (5)
   H|%:*$          H|$0:$1$R$Y      (5)
   H|%:*$ $ *      H|$0:$1$ $2$R$Y  (6)
   B|*--*          B|$0-$1$R        (7)
   B|*..*          B|$0.$1$R        (7)
   B|*!!*          B|$0!$1$R        (7)
   B|*??*          B|$0?$1$R        (7)
   B|*$ $ *        B|$0$ $1$R       (6)
   B|$ *           B|$0$R           (5)
   B|*$            B|$0$R           (5)

               

說明文字

上述 SMS_TEXT 對映表範例中的項目說明如下內容:

在上述範例中,中介字元 $R 用於實作與控制對映的反覆式應用程式。透過對這些對映進行迭代,可實現功能強大的篩選效果。例如,這些簡單對映可移除單一前導或尾隨空格 (6),或將兩個空格縮減為一個 (7),將這些對映作為整體來使用時,便可以得到一個篩選器,它可以刪除所有前導或尾隨空格,並將所有的連續多個空格縮減為一個。此種篩選作業有助於縮減每封 SMS 郵件的大小。

  1. 這兩個項目導致在 SMS 郵件中包含 From:Subject: 標頭行。From:Subject: 分別縮寫為 F:S:。某些其他項目可能會進一步影響 From:Subject: 標頭行。

    此項目將包含 <...> 式樣的 From: 標頭行減少為僅包含角括號中的文字。例如:

    F: "John C. Doe" <jdoe@siroe.com> (Hello)

    將被取代為:

    F: jdoe@siroe.com

  2. 此項目將僅移除 From: 標頭行中 (...) 式樣內的所有內容。例如:

    F: "John C. Doe" <jdoe@siroe.com> (Hello)

    將被取代為:

    F: "John C. Doe" <jdoe@siroe.com>

  3. 此項目將僅移除 From: 標頭行中「...」式樣內的所有內容。例如:

    F: "John C. Doe" <jdoe@siroe.com> (Hello)

    將被取代為:

    F: <jdoe@siroe.com> (Hello)

  4. 此項目將會移除 From: 標頭行中 @ 符號右側的所有內容。例如:

    F: "John C. Doe" <jdoe@siroe.com> (Hello)

    將被取代為:

    F: "John C. Doe" <jdoe@

  5. 這四個項目可移除郵件標頭與內文中各行的前導和尾隨空格。

  6. 這兩個項目可將郵件標頭與內文中各行內的兩個空格縮減為一個。

  7. 這四個項目可將成對的破折號、句點、感嘆號及問號縮減成相應的單個字元。這同樣有助於縮減 SMS 郵件的大小。

項目的次序非常重要。例如,依給定的順序,郵件 From: 標頭行的內文︰

From: "John C. Doe" (Hello)

將被縮減成:

jdoe

實現此種效果的步驟如下:

  1. 從 From: 標頭行開始:

    From: "John C. Doe" (Hello)

    第一個對映項目中的式樣與此相符,並產生以下結果:

    F: "John C. Doe" (Hello)

    結果字串中的中介字元 $R 會使結果字串重新進行對映。

  2. 對映會套用於最後一個步驟的結果字串。會產生:

    F: jdoe@siroe.com

    對映中的 $R 會使整組對映重新套用於此步驟的結果。

  3. 接著套用此對映會產生:

    F: jdoe

    對映中的 $R 會使整組對映重新套用於此步驟的結果。

  4. 接著套用此對映會產生:

    F:jdoe

    對映中的 $R 會使整組對映重新套用於此步驟的結果。

  5. 由於沒有其他相符的項目,因此最終結果字串:

    F:jdoe

    將會併入 SMS 郵件中。


    備註 –

    imsimta 對映測試公用程式可用於測試對映表。例如


    # imsimta test -mapping -noimage_file -mapping_file=test.txt
    Enter table name: SMS_TEXT
    Input string: H|From: "John C. Doe"  (Hello)
    Output string: H|F:jdoe
    Output flags: [0,1,2,89]
    Input string: ^D
    #

    如需有關 imsimta test 公用程式的進一步詳細資訊,請參閱「Sun Java System Messaging Server 6 2005Q4 Administration Reference」中的「imsimta test」