Exchange Server 中郵件流程規則的程式
郵件流程規則 (也稱為傳輸規則,) 識別並針對流經 Exchange 組織的郵件採取動作。 如需郵件流程規則的詳細資訊,請參閱 Exchange Server 中的郵件流程規則。
在信箱伺服器上,您可以在 Exchange 系統管理中心 (EAC) 和 Exchange 管理命令介面中管理郵件流程規則。 在 Edge Transport Server 上,則只能使用 Exchange 管理命令介面。
提示
請確認您的規則是以您預期的方式運作。 務必徹底地測試每個規則以及規則之間的互動。
開始之前有哪些須知?
每項程序的預估完成時間:5 分鐘。
如需 EAC 的詳細資訊,請參閱 Exchange Server 中的 Exchange 系統管理中心。 若要了解如何在內部部署 Exchange 組織中開啟 Exchange 管理命令介面,請參閱 Open the Exchange Management Shell。
您必須已獲指派權限,才能執行此程序或這些程序。 若要查看您需要的許可權,請參閱 Exchange Server (Exchange Server) 中的郵件原則和合規性許可權中的「郵件流程規則」專案,或 Exchange Online 中的功能許可權。
如需適用於此主題中程序的快速鍵相關資訊,請參閱 Exchange 系統管理中心的鍵盤快速鍵。
提示
有問題嗎? 在 Exchange 論壇中尋求協助。 此論壇的網址為:Exchange Server、Exchange Online 或 Exchange Online Protection。
建立郵件流程規則
建立郵件流程規則主要與您想要履行的案例有關。 如需範例,請參閱下列主題:
數據外洩防護 (DLP) 原則是郵件流程規則的集合。 若要建立 DLP 原則,請 參閱 Exchange Server DLP 程式。
使用 EAC 建立郵件流程規則
EAC 可讓您使用範本 () 條件和動作的篩選清單、複製現有的規則,或從頭建立規則,來建立郵件流程規則。
在 EAC 中,移至 [郵件流程>規則],然後選取下列其中一個選項:
若要從範本建立規則,請按兩下 [ 新增 () 並選取範本 ([ 建立新規則 ]) 以外的值。
若要複製規則,請選取規則,然後選取 [複製 () 。 請注意,複製規則的選項僅適用於EAC。
若要從頭開始建立新規則, 請新增 () 然後選取 [建立新規則]。
在開啟 的 [新增規則 ] 頁面中,設定下列設定:
名稱:輸入規則的唯一描述性名稱。
如果:選取規則的條件,請套用此規則。 如果您想要將規則套用至所有訊息,請選取 [套用至所有訊息]。 如需可用條件的說明,請參閱 Exchange Server 中 (述詞) 的郵件流程規則條件和例外狀況。
執行下列動作:選取規則的動作。 動作會套用至符合條件的訊息。 如需可用條件的說明,請參閱 Exchange Server 中的郵件流程規則動作。
選擇性屬性:
使用嚴重性層級稽核此規則:針對 DLP 原則,此設定會指定規則比對數據在 DLP 原則偵測報告中的顯示方式。 如需詳細資訊, 請參閱 DLP 原則偵測報告。 如果您清除複選框,或選取 [未指定] 值,規則相符專案就不會出現在規則報告中。
選擇此規則的模式:您可以使用兩種測試模式之一來測試規則,而不會影響郵件流程。 在這兩種測試模式中,當符合條件時,會將專案新增至訊息追蹤記錄檔。 選取下列其中一個值:
強制執行:此選項會開啟規則,並立即開始處理郵件。 將執行規則上的所有動作。 這是預設值。
使用原則提示進行測試:這會開啟規則,而且會傳送任何原則提示動作 (以原則 提示通知寄件者) ,但不會執行與訊息傳遞相關的任何動作。 需要 DLP 才能使用此模式。 若要深入了解,請參閱原則提示。
不含原則提示的測試:針對 DLP 原則,只會強制執行 產生事件報告並將其傳送至 動作。 不會執行與郵件傳送相關的動作。
您可以按下 [儲存] 來建立規則,也可以按 下列其他 設定:
若要新增更多條件,請按一下 [新增條件]。 如果您有多個條件,您可以按兩下 [ 移除 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檢視郵件流程規則
在 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-TransportRule 和 Set-TransportRule Cmdlet 上的對應條件和例外狀況參數名稱不同。 而且,某些述詞需要多個參數。
使用 Exchange 管理命令介面來檢視郵件流程規則的可用動作
您只能在 Exchange 管理命令介面中檢視動作清單。
若要檢視郵件流程規則中可用的動作,請執行下列命令:
Get-TransportRuleAction
如需詳細的語法和參數資訊,請參閱 Get-TransportRuleAction。
附註:
信箱伺服器上提供的一小部分動作也可在Edge Transport Server上使用,但某些動作僅適用於Edge Transport Server。 如需詳細資訊,請參閱 Exchange Server 中的郵件流程規則動作。
有些動作名稱與 New-TransportRule 和 Set-TransportRule Cmdlet 上的對應動作參數名稱不同。 而且,某些動作需要多個參數。
修改郵件流程規則
使用 EAC 修改郵件流程規則
當您修改EAC中的郵件流程規則時,沒有其他設定可用。 這些設定與您在建立規則時可用的設定相同。
在 EAC 中,移至 [郵件流程>規則]。
選取規則,然後按兩下 [編輯 () 。 請注意,規則的屬性會完全展開 (沒有其他 選項 連結可供) 使用。 如需規則屬性的詳細資訊,請參閱本主題中的 使用EAC建立郵件流程規則 一節。
使用 Exchange 管理命令介面修改郵件流程規則
當您在 Exchange 管理命令介面中修改郵件流程規則時,您無法停用或啟用規則 (Set-TransportRule Cmdlet) 上沒有 Enabled 參數。 相反地,您會使用 Disable-TransportRule 和 Enable-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) 中編輯規則,直接修改 優先順序 號碼。
在 EAC 中,移至 [郵件流程>規則]。
選取規則,然後按兩下 鍵 圖示 () 或 向下移動 (向 ) 在清單中上下移動規則。
使用 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來啟用或停用郵件流程規則
在 EAC 中,移至 [郵件流程>規則]。
從清單中選取規則,然後設定下列其中一個設定:
停用規則:清除 [ 開 啟] 數據行中的複選框。
啟用規則:選取 [ 開 啟] 數據行中的複選框。
使用 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-TransportRule 和 Disable-TransportRule。
如何知道這是否正常運作?
若要確認您已成功啟用或停用郵件流程規則,請使用下列其中一個程式:
在 EAC 中,移至 [郵件流程>規則],然後在規則清單中確認 [ 開啟 ] 資料行中複選框的狀態。
在 Exchange 管理命令介面中,使用下列其中一個程式:
- 執行下列命令以檢視規則清單及其 狀態 值:
Get-TransportRule
- 以規則的名稱取代 <RuleName> ,然後執行下列命令:
Get-TransportRule -Identity "<RuleName>" | Format-List Name,State
拿掉郵件流程規則
使用EAC 移除郵件流程規則
從 EAC,移至 [郵件流程>規則]。
選取您要從清單中移除的規則,然後按下 [ 刪除 () ] 。
使用 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 管理命令介面匯出郵件流程規則集合
執行下列命令:
$File = Export-TransportRuleCollection
使用下列語法:
[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 管理命令介面匯入郵件流程規則集合
使用下列語法:
$Data = [System.IO.File]::ReadAllBytes('<OutputFile>')
例如,若要從 C:\My Documents\Exported Rules.xml 匯入郵件流程規則集合,請執行下列命令:
$Data = [System.IO.File]::ReadAllBytes('C:\My Documents\Exported Rules.xml')
執行下列命令:
Import-TransportRuleCollection -FileData $Data
如需詳細的語法及參數資訊,請參閱 Import-TransportRuleCollection。
需要其他協助嗎?
Exchange Server 的資源: