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

網站定義的位址有效性檢查和轉譯

網站會將有效性檢查或翻譯套用至在收件者電子郵件中編碼的 SMS 目標位址,如將電子郵件導向通道中所述

可使用DESTINATION_ADDRESS_NUMERICDESTINATION_ADDRESS_PREFIX通道選項完成前兩個作業。一般,所有這三項任務以及其他任務,都可以使用對映表來實作:可以使用重寫規則呼叫對映表,也可以使用 FORWARD 對映表。使用重寫規則呼叫對映表將提供最大程度的靈活性,其中包括以網站定義的錯誤回應來拒絕位址的功能。本節後述部分將集中論述如何使用重寫規則呼叫對映表。

讓我們假設目標位址需要為全數值,長度為 10 或 11 位數,前綴為字串「+1」。使用以下重寫規則即可實現

sms.siroe.com      ${X-REWRITE-SMS-ADDRESS,$U}@sms.siroe.com
sms.siroe.com       $?Invalid SMS address

以上第一個重寫規則呼叫名為 X-REWRITE-SMS-ADDRESS 的網站定義的對映表。將傳送此對映表電子郵件位址的本機部分以供檢查。如果對映程序決定可以接受此本機部分,則此位址會被接受,並重新寫入 SMS 通道。如果對映程序決定不接受此本機部分,則套用下一個重寫規則。由於其為 $? 重寫規則,位址會被拒絕,並隨附錯誤文字「無效的 SMS 位址」。

X-REWRITE-SMS-ADDRESS 對映表顯示如下。它會對屬性-值對清單格式或原始 SMS 目標位址中的本機部分執行必要的驗證步驟。

X-VALIDATE-SMS-ADDRESS

! Iteratively strip any non-numeric characters 
   $_*$[$ -/:-~]%*  $0$2$R
! Accept the address if it is of the form 1nnnnnnnnnn or nnnnnnnnnn
! In accepting it, ensure that we output +1nnnnnnnnnn
   1%%%%%%%%%%      +1$0$1$2$3$4$5$6$7$8$9$Y
   %%%%%%%%%%       +1$0$1$2$3$4$5$6$7$8$9$Y
! We didn’t accept it and consequently it’s invalid
   *                $N

X-REWRITE-SMS-ADDRESS
    */id=$_*/*       $C$0/id=$|X-VALIDATE-SMS-ADDRESS;$1|/$2$Y$E
    */id=$_*/*       $N
    *                $C$|X-VALIDATE-SMS-ADDRESS;$0|$Y$E
    *                $N

對於以上設定,請確定DESTINATION_ADDRESS_NUMERIC選項值為 0 (預設)。否則,「+」將從 SMS 目標位址中被刪除。