共用方式為


Exchange Server 中郵件流程規則的程式

郵件流程規則 (也稱為傳輸規則,) 識別並針對流經 Exchange 組織的郵件採取動作。 如需郵件流程規則的詳細資訊,請參閱 Exchange Server 中的郵件流程規則

在信箱伺服器上,您可以在 Exchange 系統管理中心 (EAC) 和 Exchange 管理命令介面中管理郵件流程規則。 在 Edge Transport Server 上,則只能使用 Exchange 管理命令介面。

提示

請確認您的規則是以您預期的方式運作。 務必徹底地測試每個規則以及規則之間的互動。

開始之前有哪些須知?

提示

有問題嗎? 在 Exchange 論壇中尋求協助。 此論壇的網址為:Exchange ServerExchange OnlineExchange Online Protection

建立郵件流程規則

使用 EAC 建立郵件流程規則

EAC 可讓您使用範本 () 條件和動作的篩選清單、複製現有的規則,或從頭建立規則,來建立郵件流程規則。

  1. 在 EAC 中,移至 [郵件流程>規則],然後選取下列其中一個選項:

    • 若要從範本建立規則,請按兩下 [ 新增 (] 圖示。) 並選取範本 ([ 建立新規則 ]) 以外的值。

    • 若要複製規則,請選取規則,然後選取 [複製 (複製] 圖示。) 。 請注意,複製規則的選項僅適用於EAC。

    • 若要從頭開始建立新規則, 請新增 (新增圖示。) 然後選取 [建立新規則]

  2. 在開啟 的 [新增規則 ] 頁面中,設定下列設定:

    選擇性屬性:

    • 使用嚴重性層級稽核此規則:針對 DLP 原則,此設定會指定規則比對數據在 DLP 原則偵測報告中的顯示方式。 如需詳細資訊, 請參閱 DLP 原則偵測報告。 如果您清除複選框,或選取 [未指定] 值,規則相符專案就不會出現在規則報告中。

    • 選擇此規則的模式:您可以使用兩種測試模式之一來測試規則,而不會影響郵件流程。 在這兩種測試模式中,當符合條件時,會將專案新增至訊息追蹤記錄檔。 選取下列其中一個值:

    • 強制執行:此選項會開啟規則,並立即開始處理郵件。 將執行規則上的所有動作。 這是預設值。

    • 使用原則提示進行測試:這會開啟規則,而且會傳送任何原則提示動作 (以原則 提示通知寄件者) ,但不會執行與訊息傳遞相關的任何動作。 需要 DLP 才能使用此模式。 若要深入了解,請參閱原則提示

    • 不含原則提示的測試:針對 DLP 原則,只會強制執行 產生事件報告並將其傳送至 動作。 不會執行與郵件傳送相關的動作。

  3. 您可以按下 [儲存] 來建立規則,也可以按 下列其他 設定:

    • 若要新增更多條件,請按一下 [新增條件]。 如果您有多個條件,您可以按兩下 [ 移除 X] 來移除條件。請注意,按兩下 [ 更多選項] 之後,還有更多可用的條件。

    • 若要新增更多動作,請按一下 [新增動作]。 如果您有多個動作,您可以按兩下 [ 移除 X] 來移除動作。請注意,按兩下 [ 更多選項] 之後,還有更多可用的動作。

    • 若要新增規則的例外狀況,請按兩下 [ 新增例外狀況],然後使用 [ 例外狀況] 下拉式清單選取例外狀況。 您可以按下 [ 移除 X] 來移除例外狀況

    • 在下列日期啟動此規則:如果您想要規則在特定日期之後生效,請指定開始日期。 請注意,規則仍會在此日期之前啟用,但不會進行處理。

    • 在下列日期停用此規則:如果您想要規則在特定日期停止處理訊息,請指定結束日期。 請注意,規則仍會在該日期之後啟用,但不會進行處理。

    • 停止處理更多規則:選取此複選框可避免在此規則處理訊息之後套用其他規則。

    • 如果規則處理未完成,請延遲訊息:選取此複選框以重新提交訊息以進行處理。 根據預設,系統會忽略規則,而且訊息的傳遞會繼續正常進行。

    • 比對郵件中的寄件者位址:針對檢查發件者位址的條件和例外狀況,您可以指定規則尋找寄件者位址的位置:在郵件標頭中 (預設) 、郵件信封或標頭和信封。 如需詳細資訊,請參閱 發件者

    • 批注:指定規則的描述性批注。

    完成後,按一下 [儲存]

使用 Exchange 管理命令介面建立郵件流程規則

有兩個設定可讓您在 Exchange 管理命令介面中針對新的郵件流程規則進行設定,在建立規則之前,EAC (中無法使用) :

  • 將新規則建立為已停 用 (啟用$false)

  • 將規則的優先順序設定 (優先順序<號碼>) 。

若要在 Exchange 管理命令介面中建立郵件流程規則,請使用下列語法:

New-TransportRule -Name <RuleName> [<Conditions>] [<Exceptions>] <Actions> [<Properties>]

此範例會建立具有下列設定的新規則:

  • 名稱:將來自因特網的訊息標記為 Sales DG。

  • Conditions

    • 來自外部寄件者的訊息。

      And

    • 傳送至名為 Sales Department 之通訊群組的訊息。

  • 動作:在訊息的 [ 主旨 ] 字段前面加上值 "External message to Sales DG: "。 尾端冒號和空格有助於區別新增的文字與原始值。

New-TransportRule -Name "Mark messages from the Internet to Sales DG" -FromScope NotInOrganization -SentTo "Sales Department" -PrependSubject "External message to Sales DG: "

如需詳細的語法和參數資訊,請參閱 New-TransportRule

注意:範例中的條件和動作僅供說明之用。 檢閱可用的郵件流程規則條件、例外狀況和動作,以判斷哪些符合您的需求。

如何知道這是否正常運作?

若要確認您已成功建立郵件流程規則,請使用下列其中一個程式:

  • 在 EAC 中,移至 [郵件流程>規則],並確認您建立的規則位於清單中。

  • 在 Exchange 管理命令介面中,使用下列其中一個程式:

    • 執行下列命令,以查看規則清單中的新規則:
    Get-TransportRule
    
    • RuleName> 取代<為規則的名稱,然後執行下列命令以查看規則的詳細資料:
    Get-TransportRule -Identity "<RuleName>" | Format-List
    

檢視郵件流程規則

您在信箱伺服器上建立的郵件流程規則會儲存在 Active Directory 中,因此當您在信箱伺服器上檢視規則時,您會看到組織中的所有規則。 當您使用 Exchange 管理命令介面來檢視 Edge Transport Server 上的郵件流程規則時,您會看到儲存在本地伺服器上的規則。

使用EAC檢視郵件流程規則

  1. 在 EAC 中,移至 [郵件流程>規則]

  2. 當您選取規則時,規則的相關信息會顯示在詳細資料窗格中。 若要查看規則的詳細資訊,請按兩下 [ 編輯 (編輯] 圖示。) 。

    在 EAC 中,移至 [郵件流程 > 規則],然後選取規則。

    在 EAC 中, 版本屬性只會顯示在詳細資料窗格中。 此屬性表示規則與舊版 Exchange (14 的相容性。n.n.n 是 Exchange 2010,15.0。n.n 是 Exchange 2013) 。

使用 Exchange 管理命令介面來檢視郵件流程規則

若要傳回所有郵件流程規則的摘要清單,請執行下列命令:

Get-TransportRule

若要傳回特定規則的詳細資訊,請使用下列語法:

Get-TransportRule -Identity "<RuleName>" | Format-List [<Specific properties to view>]

此範例會傳回名為「寄件者為營銷成員」之規則的所有屬性值。

Get-TransportRule -Identity "Sender is a member of marketing" | Format-List

此範例只會傳回相同規則的指定屬性。

Get-TransportRule -Identity "Sender is a member of marketing" | Format-List Name,State,Mode,Priority,Comments,Conditions,Exceptions,RuleVersion

如需詳細的語法和參數資訊,請參閱 Get-TransportRule

使用 Exchange 管理命令介面來檢視郵件流程規則 (述詞) (可用的條件和例外狀況

郵件流程規則中的條件和例外狀況統稱為 述詞 ,因為針對每個條件,都會有使用完全相同設定和語法的對應例外狀況。 唯一的差異是:條件會指定要包含的訊息,而例外狀況則會指定要排除的訊息。 您只能在 Exchange 管理命令介面中檢視條件和例外狀況清單。

若要檢視郵件流程規則中可用的條件和例外狀況,請執行下列命令:

Get-TransportRulePredicate

如需詳細的語法和參數資訊,請參閱 Get-TransportRulePredicate

附註

  • 例外狀況與條件沒有區別。

  • Edge Transport Server 上可用的述詞是信箱伺服器上可用的一小部分。 如需詳細資訊,請參閱 Exchange 伺服器中的郵件流程規則條件和例外狀況 (述詞)

  • 有些述詞名稱與 New-TransportRuleSet-TransportRule Cmdlet 上的對應條件和例外狀況參數名稱不同。 而且,某些述詞需要多個參數。

使用 Exchange 管理命令介面來檢視郵件流程規則的可用動作

您只能在 Exchange 管理命令介面中檢視動作清單。

若要檢視郵件流程規則中可用的動作,請執行下列命令:

Get-TransportRuleAction

如需詳細的語法和參數資訊,請參閱 Get-TransportRuleAction

附註

  • 信箱伺服器上提供的一小部分動作也可在Edge Transport Server上使用,但某些動作僅適用於Edge Transport Server。 如需詳細資訊,請參閱 Exchange Server 中的郵件流程規則動作

  • 有些動作名稱與 New-TransportRuleSet-TransportRule Cmdlet 上的對應動作參數名稱不同。 而且,某些動作需要多個參數。

修改郵件流程規則

使用 EAC 修改郵件流程規則

當您修改EAC中的郵件流程規則時,沒有其他設定可用。 這些設定與您在建立規則時可用的設定相同。

  1. 在 EAC 中,移至 [郵件流程>規則]

  2. 選取規則,然後按兩下 [編輯 (編輯] 圖示。) 。 請注意,規則的屬性會完全展開 (沒有其他 選項 連結可供) 使用。 如需規則屬性的詳細資訊,請參閱本主題中的 使用EAC建立郵件流程規則 一節。

使用 Exchange 管理命令介面修改郵件流程規則

當您在 Exchange 管理命令介面中修改郵件流程規則時,您無法停用或啟用規則 (Set-TransportRule Cmdlet) 上沒有 Enabled 參數。 相反地,您會使用 Disable-TransportRuleEnable-TransportRule Cmdlet,如本主題稍後所述。

若要修改 Exchange 管理命令介面中的郵件流程規則,請使用下列語法:

Set-MailFlowRule -Identity "<RuleName>" [<Conditions>] [<Exceptions>] [<Actions>] [<Properties>]

本範例會在名為「寄件者是營銷人員」的規則中新增例外狀況,使其不會套用至用戶稱為「Bing Rollin」所傳送的訊息。

Set-TransportRule -Identity "Sender is a member of marketing" -ExceptIfFrom "Kelly Rollin"

如需詳細的語法和參數資訊,請參閱 Set-TransportRule

如何知道這是否正常運作?

若要確認您已成功修改郵件流程規則,請使用下列其中一個程式:

  • 在 EAC 中,移至 [郵件流程>規則],選取規則,然後在詳細數據窗格中檢視資訊。 若要查看更多設定,請按兩下 [編輯 (編輯] 圖示。) 。

  • 在 Exchange 管理命令介面中,將 RuleName> 取代<為規則的名稱,然後執行下列命令:

    Get-TransportRule -Identity "<RuleName>" | Format-List
    

設定郵件流程規則的優先順序

根據預設,郵件流程規則的優先順序是根據它們在中建立的順序, (較新規則的優先順序低於舊版規則) 。 較低的優先順序數字表示規則的優先順序較高,而規則會按照優先順序進行處理 (較高優先順序的規則會在較低優先順序的規則前面進行處理)。 兩個規則不會有相同的優先順序。

附註

  • 您可以藉由在規則中包含 StopRuleProcessing$true) 動作 (停止處理更多規則,防止後續較低優先順序的規則處理訊息。

  • 在 EAC 中,您只能在建立規則之後變更規則的優先順序。 在 Exchange 管理命令介面中,您可以在建立規則 (時覆寫預設優先順序,這可能會影響現有規則) 的優先順序。

使用EAC來設定郵件流程規則的優先順序

在 EAC 中,會依照規則的顯示順序來處理規則, (第一個規則的 Priority 值為 0) 。 若要變更規則的優先順序,請在清單中上下移動規則 (您也可以在 EAC) 中編輯規則,直接修改 優先順序 號碼。

  1. 在 EAC 中,移至 [郵件流程>規則]

  2. 選取規則,然後按兩下 圖示 (箭號圖示]。) 或 向下移動 (向 下鍵圖示) 在清單中上下移動規則。

使用 Exchange 管理命令介面來設定郵件流程規則的優先順序

您可以對規則設定的最高優先順序值為 0。 您可以設定的最低值則取決於規則的數目。 例如,如果您有五個規則,則您可以使用 0 到 4 的優先順序值。 變更現有規則的優先順序會對其他規則造成階層式影響。 例如,如果您有五個規則 (優先順序 0 到 4),而您將規則的優先順序變更為 2,則優先順序為 2 的現有規則會變更為優先順序 3,優先順序 3 的規則會變更為優先順序 4。

若要在 Exchange 管理命令介面中設定規則的優先順序,請使用下列語法:

Set-TransportRule -Identity "<RuleName>" -Priority <Number>

本範例會將名為“Sender is a member of marketing” 的規則優先順序設定為 2。 優先順序小於或等於 2 的所有現有規則會減 1 (它們的優先順序數字會加 1)。

Set-TransportRule -Identity "Sender is a member of marketing" -Priority 2

注意:若要在建立新規則時設定其優先順序,請在 New-TransportRule Cmdlet 上使用 Priority 參數。

如何知道這是否正常運作?

若要確認您已成功修改郵件流程規則的優先順序,請使用下列其中一個程式:

  • 在 EAC 中,移至 [郵件流程>規則],然後確認清單中規則的 [優先順序 ] 值。

  • 在 Exchange 管理命令介面中,使用下列其中一個程式:

    • 執行下列命令以檢視規則清單及其 Priority 值:
    Get-TransportRule
    
    • 以規則的名稱取代 <RuleName> ,然後執行下列命令:
    Get-TransportRule -Identity "<RuleName>" | Format-List Name,Priority
    

啟用或停用郵件流程規則

停用規則可防止規則對訊息採取行動,但可讓您保留規則的設定。

根據預設,當您在 EAC 或 Exchange 管理命令介面中建立郵件流程規則時,會啟用郵件流程規則,但您可以使用 Exchange 管理命令介面來建立停用的規則 (使用 Enabled 參數搭配值 $false) 。

使用EAC來啟用或停用郵件流程規則

  1. 在 EAC 中,移至 [郵件流程>規則]

  2. 從清單中選取規則,然後設定下列其中一個設定:

    • 停用規則:清除 [ 啟] 數據行中的複選框。

    • 啟用規則:選取 [ 啟] 數據行中的複選框。

使用 Exchange 管理命令介面來啟用或停用郵件流程規則

若要在 Exchange 管理命令介面中啟用或停用郵件流程規則,請使用下列語法:

<Enable-TransportRule | Disable-TransportRule> -Identity "<RuleName>"

此範例會停用名為「寄件者是營銷人員」的郵件流程規則。

Disable-TransportRule "Sender is a member of marketing"

此範例會啟用名為「寄件者是營銷成員」的郵件流程規則。

Enable-TransportRule "Sender is a member of marketing"

如需詳細的語法和參數資訊,請參閱 Enable-TransportRuleDisable-TransportRule

如何知道這是否正常運作?

若要確認您已成功啟用或停用郵件流程規則,請使用下列其中一個程式:

  • 在 EAC 中,移至 [郵件流程>規則],然後在規則清單中確認 [ 開啟 ] 資料行中複選框的狀態。

  • 在 Exchange 管理命令介面中,使用下列其中一個程式:

    • 執行下列命令以檢視規則清單及其 狀態 值:
    Get-TransportRule
    
    • 以規則的名稱取代 <RuleName> ,然後執行下列命令:
    Get-TransportRule -Identity "<RuleName>" | Format-List Name,State
    

拿掉郵件流程規則

使用EAC 移除郵件流程規則

  1. 從 EAC,移至 [郵件流程>規則]

  2. 選取您要從清單中移除的規則,然後按下 [ 刪除 (刪除] 圖示。) ] 。

使用 Exchange 管理命令介面移除郵件流程規則

若要移除 Exchange 管理命令介面中的郵件流程規則,請使用下列語法:

Remove-TransportRule -Identity "<RuleName>"

此範例會移除名為「寄件者是行銷人員」的郵件流程規則:

Remove-TransportRule -Identity "Sender is a member of marketing"

如需詳細的語法和參數資訊,請參閱 Remove-TransportRule

如何知道這是否正常運作?

若要確認您已成功移除郵件流程規則,請使用下列其中一個程式:

  • 在 EAC 中,移至 [郵件流程>規則],並確認您移除的規則已不在清單中。

  • 在 Exchange 管理命令介面中,執行下列命令以確認您移除的規則已不再列出:

    Get-TransportRule
    

匯入或匯出郵件流程規則集合

您可以匯入先前匯出為備份的郵件流程規則集合,或匯入從舊版 Exchange 導出的規則。

附註

  • 您無法在 EAC 中匯入或匯出郵件流程規則集合。 您僅能使用 Exchange 管理命令介面。

  • 如果該規則集合是從 Exchange 2013 或更新版本匯出,您就無法將郵件流程規則集合匯入至 Exchange 2010。

使用 Exchange 管理命令介面匯出郵件流程規則集合

  1. 執行下列命令:

    $File = Export-TransportRuleCollection
    
  2. 使用下列語法:

    [System.IO.File]::WriteAllBytes('<OutputFile>', $File.FileData)
    

    例如,若要將導出的郵件流程規則集合儲存至檔案 C:\My Documents\Exported Rules.xml,請執行下列命令:

    [System.IO.File]::WriteAllBytes('C:\My Documents\Exported Rules.xml', $File.FileData)
    

如需詳細的語法及參數資訊,請參閱 Export-TransportRuleCollection

使用 Exchange 管理命令介面匯入郵件流程規則集合

  1. 使用下列語法:

    $Data = [System.IO.File]::ReadAllBytes('<OutputFile>')
    

    例如,若要從 C:\My Documents\Exported Rules.xml 匯入郵件流程規則集合,請執行下列命令:

    $Data = [System.IO.File]::ReadAllBytes('C:\My Documents\Exported Rules.xml')
    
  2. 執行下列命令:

    Import-TransportRuleCollection -FileData $Data
    

如需詳細的語法及參數資訊,請參閱 Import-TransportRuleCollection

需要其他協助嗎?