傳輸規則中的規則運算式
適用版本: Exchange Server 2010 SP2, Exchange Server 2010 SP3
上次修改主題的時間: 2016-03-18
您可以在 MicrosoftExchange Server 2010 傳輸規則述詞中使用規則運算式,以符合郵件不同部分 (例如郵件標頭、寄件者、收件者、郵件主旨和內文) 的文字模式。述詞是供條件及例外狀況使用,用以判定是否應該將設定的動作套用至電子郵件。
附註: |
---|
由於在客戶環境中的差異,Microsoft 客戶支援服務 (CSS) 無法參與開發或測試自訂規則運算式指令碼 (「RegEx 指令碼」)。針對 RegEX 的自訂指令碼開發、測試和偵錯,Office 365 客戶必須依賴內部的 IT 資源。此外,Office 365 客戶可以選擇使用外部顧問資源,例如 Microsoft 諮詢服務 (MCS)。無論指令碼開發資源,CSS EXO 和 EOP 技術支援工程師無法利用自訂 RegEx 指令碼查詢來協助客戶。 |
要尋找與傳輸規則相關的管理工作嗎?請參閱管理傳輸規則。
目錄
簡單運算式與規則運算式
Exchange 2010 中的規則運算式
建立使用規則運算式的傳輸規則
簡單運算式與規則運算式
若要了解規則運算式,您必須先了解簡易運算式。簡易運算式</newTerm>是郵件中您希望完全相符的特定值。使用簡易運算式的述詞符合特定的字或字串。舉例來說,您的組織不想要散佈到組織外部的文件標題,即為簡易運算式的一例,例如 Yearly Sales Forecast.doc。電子郵件中的部分資料必須完全符合簡易運算式,才能滿足傳輸規則中的條件或例外狀況。
規則運算式</newTerm>是簡要並具彈性的表示法,用以尋找郵件中的文字模式。表示法是由兩種基本字元類型所組成:
常值字元 必須存在目標字串中的文字。這些是一般字元輸入。
中繼字元 一或多個不逐字解譯的特殊字元。這些可以表示文字在目標字串中如何變化。
您可以使用規則運算式快速剖析電子郵件,以找出特定的文字模式。這可讓您偵測特定內容類型的郵件,例如,身分證號碼 (SSN)、專利號碼和電話號碼。
因為簡易運算式需要您輸入想要偵測之值的每個可能變化,所以理論上並不能使用簡易運算式來比對此資料。在許多情況下,使用這類應用程式的簡易運算式會成為後勤的挑戰,而且在郵件內容中比對大量簡易運算式可能很耗費資源。使用規則運算式通常更有效率。您可以設定傳輸規則述詞來搜索文字模式,而不用指定所有可能的變化。
Exchange 2010 中的規則運算式
在 Exchange 管理命令介面中,您可以將規則運算式用於所有接受 Patterns 述詞內容的述詞。在 Exchange 管理主控台中,您可以將規則運算式與所有含有 with text patterns 字詞的條件及例外狀況搭配使用。如需述詞的詳細資訊,請參閱傳輸規則述詞。
注意: |
---|
您必須仔細測試所建構的規則運算式,以確定它們會產生預期的結果。不正確地設定規則運算式會產生未預期的比對結果,並造成不想要的傳輸規則行為。這可能會導致在郵件和郵件內容上採取不想要的動作,在使用拒絕或彈回郵件之類的動作時,可能會導致資料遺失。另外,複雜的規則運算式可能會影響郵件運輸效能。請先在測試環境中測試規則運算式,然後再實際執行它們。 |
下表列出您可以在 Exchange 2010 中,用來建立模式比對規則運算式的模式字串。
模式字串
模式字串 | 說明 |
---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
縱線 ( |
|
星號 ( |
|
括號會作為群組分隔符號。例如, |
|
反斜線是用來當作特殊字元之前的逸出字元。特殊字元是模式字串中使用的字元:
例如,如果想要比對含有 |
|
插入符號 ( 例如, |
|
貨幣符號 ( 例如, |
建構規則運算式
您可以使用先前的表格,建構用來比對想要比對之資料模式的規則運算式。請由左至右檢查每個想要比對之資料中的字元或字元群組。讀取每個模式字串的描述,以判斷如何將它套用至要比對的資料中。接著,再判斷表格中的哪個模式字串代表該字元或字元群組,並將該模式字串新增至規則運算式。完成時,您就會擁有建構完整的規則運算式。
此規則運算式的範例會比對格式為 425 555-0100 及 425.555.0100 的北美地區電話號碼。
425(\s|.)\d\d\d(-|.)\d\d\d\d
您可以新增電話格式 (425) 555-0100 (用括號括住區碼),來延伸此範例。此規則運算式的範例會比對所有三個電話號碼格式。
\d\d\d((\s|.|-|\)|\)\s)\d\d\d(\s|.|-)\d\d\d\d
您可以依下列方式分析前述範例:
\d\d\d 此部分要求先出現完整 3 位數字。
((\s|.|-\)|\)\s) 此部分要求在 3 位數字後面要有空格、句號或連字號。每個字元比對字串是包含在群組分隔符號中,且用縱線字元予以隔開。這表示在要比對之字串的這個位置中,只可以有群組分隔符號內的其中一個指定字元。對於區碼和下一組 3 位數之間的區隔,它還會尋找右括弧,或是右括弧及空格。
\d\d\d 此部分要求其後應接 3 位數字。
(\s|.|-) 此部分要求在 3 位數字後面要有空格、句號或連字號。
\d\d\d\d 此部分要求其後應接 4 位數字。
上述規則運算式會比對下列範例值:
(425)555.0100
425 555 0100
425. 555-0100
(425) 555-0100
425-555-0100
(425) 555-0100
使用規則運算式建立傳輸規則
此範例會在命令介面中建立傳輸規則,以使用規則運算式來比對電子郵件主旨中的 SSN。
New-TransportRule -Name "Social Security Number Block Rule" -SubjectOrBodyMatchesPatterns '\d\d\d-\d\d-\d\d\d\d' -RejectMessageEnhancedStatusCode "5.7.1" -RejectMessageReasonText "This message has been rejected because of content restrictions"
此範例可讓您檢視新的傳輸規則。
Get-TransportRule "Social Security Number Block Rule" | Format-List
© 2010 Microsoft Corporation. 著作權所有,並保留一切權利。