管理 Exchange Online 中的郵件流程規則

在 Exchange Online 組織或獨立 Exchange Online Protection (EOP) 沒有 Exchange Online 信箱的組織中,您可以使用 Exchange 郵件流程規則 (也稱為傳輸規則,) 尋找通過貴組織之郵件的特定條件,並採取動作。

本文說明如何 建立複製調整順序啟用或停用刪除、匯或匯出 規則,以及 監視規則使用量

提示

若要確保規則能以您預期的方式運作,請確定您徹底測試每個規則和規則之間的互動。

開始之前有哪些須知?

提示

有問題嗎? 在 Exchange 論壇中尋求協助。 請造訪論壇:Exchange OnlineExchange Online Protection

建立郵件流程規則

您可以在 EAC 或 PowerShell 中建立郵件流程規則。 在 EAC 中,您也可以複製現有的規則來建立郵件流程規則。

注意事項

建立或複製郵件流程規則之後,可能需要 30 分鐘以上的時間,新規則才會套用至電子郵件。

使用 EAC 建立郵件流程規則

EAC 可讓您選取範本或從頭開始建立郵件流程規則。

  1. 在新的EAC中 https://admin.exchange.microsoft.com,移至 [郵件流程>規則]。 或者,若要直接移至 [規則] 頁面,請使用 https://admin.exchange.microsoft.com/#/transportrules

  2. 在 [ 規則] 頁面上,使用下列其中一個選項建立規則:

    • 若要從範本建立規則,請選取 [ 新增規則] [新增圖示 ],然後從下拉式清單中選取範本。
    • 若要從頭開始建立新規則,請選取 [ 新增規則] [新增圖示]。>建立新的規則

    新的規則精靈隨即開啟。

  3. 在 [ 設定規則條件 ] 頁面的 [ 名稱 ] 方塊中輸入規則的唯一名稱,然後選取規則的條件、例外狀況和動作:

    • 如果...:從清單中選取條件,請套用此規則。

      • 某些條件需要其他值。 例如,如果您選取 [ 寄件者為...],則也需要指定寄件者位址。 如果您要新增單字或片語,則不允許尾端空格。
      • 若要新增更多條件,請選取 [新增條件新增圖示 ],然後重複此步驟。
      • 取 [刪除條件刪除] 圖示。 若要移除條件。
      • 若要套用至組織中的所有訊息,請選取 [ 套用至所有訊息 ] 條件。
    • 執行下列動作...:從清單中選取動作。

      • 某些動作需要其他值。 例如,如果您選取 [ 轉寄訊息以供核准...],您需要選取組織中的收件者。
      • 若要新增更多動作,請選取 [新增動作新增圖示 ],然後重複此步驟。
      • 取 [刪除動作刪除] 圖示。 若要移除動作。
    • 除非...:請使用此設定來指定規則的任何例外狀況。 可用的例外狀況與可用的條件相同。

      • 某些例外狀況需要其他值。 例如,如果您選取 [ 寄件者為...],則也需要指定寄件者位址。 如果您要新增單字或片語,則不允許尾端空格。
      • 若要新增更多例外狀況,請選取 [新增例外狀況新增圖示 ],然後重複此步驟。
      • 取 [刪除例外狀況刪除] 圖示。 若要移除例外狀況。

    當您在 [ 設定規則條件 ] 頁面上完成時,請選取 [ 下一步]

  4. 在 [ 設定規則設定 ] 頁面上,設定下列設定:

    • 規則模式:選取下列其中一個值:

      • 強制:開啟規則並立即開始處理訊息。 系統會對規則採取所有動作。
      • 使用原則提示進行測試:開啟規則,並傳送任何原則提示動作 ( 以原則 提示通知寄件者) ,但不會採取任何與訊息傳遞相關的動作。
      • 沒有原則提示的測試:只會強制執行 產生事件報告 動作。 不會採取任何與訊息傳遞相關的動作。
    • 嚴重性:選取此規則的嚴重性層級。 規則相符專案會依活動報告中的嚴重性層級分組。 嚴重性層級只是為了讓報告更容易使用的篩選條件。 嚴重性層級不會影響處理規則的優先順序。

      • 未指定
      • Medium
      • High
      • 非稽核:規則相符專案不會出現在規則報告中。
    • 開啟此規則停用此規則:使用這些設定可在特定時段內開啟和關閉規則。 如果您在日期啟 用此規則 之前建立規則,則規則已啟用,但不會處理。 在日期停 用此規則 之後,規則仍會保持啟用狀態,但不會處理。

    • 停止處理更多規則:使用此設定可防止在此規則之後將其他規則套用至訊息。 如果此規則處理訊息,則不會處理該訊息的後續規則。

    • 如果規則處理未完成,請延遲訊息:指定規則處理無法完成時應如何處理訊息。 根據預設,系統會忽略規則,而其他規則會繼續處理訊息。 如果您選取此選項,則會重新提交訊息以進行處理。

    • 比對郵件中的寄件者位址:指定檢查寄件者電子郵件地址的條件或例外狀況評估哪些電子郵件位址:

      • 標頭:只會檢查訊息標頭。
      • 信封:只會檢查 SMTP 訊息信封。
      • 標頭或信封:同時檢查郵件標頭和 SMTP 訊息信封。
    • 批注:將選擇性批註新增至規則。

    當您在 [ 設定規則設定 ] 頁面上完成時,請選取 [ 下一步]

  5. 在 [ 檢閱並完成] 頁面上,確認設定。 選 取 [上一步 ] 或使用 [編輯規則條件 ] 或 [ 編輯規則設定 ] 連結來修改設定。

    當您在 [ 檢閱並完成 ] 頁面上完成時,請選取 [ 完成]

  6. 在確認頁面上,選取 [ 完成]

使用 Exchange Online PowerShell 建立郵件流程規則

下列範例會建立新的郵件流程規則,將文字 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 複製郵件流程規則

  1. 在新的EAC中 https://admin.exchange.microsoft.com,移至 [郵件流程>規則]。 或者,若要直接移至 [規則] 頁面,請使用 https://admin.exchange.microsoft.com/#/transportrules

  2. 在 [規則] 頁面上,選取 [狀態] 值旁邊出現的單選按鈕來選取規則,然後選取 [複製重複] 圖示。出現的動作。

  3. 在開啟 的< [建立規則名稱>] 飛出視窗複本中,[ 條件 ] 和 [ 設定 ] 索引卷標上的值會填入所複製規則的設定。 預設名稱是 [規則名稱的 <複本]>。 您可以變更任何規則設定。 可用的設定與建立新規則相同,如 使用 EAC 建立郵件流程規則一 節中所述。

  4. 當您完成編輯規則的設定時,請選取飛出視窗底部的 [ 複製 ]。

  5. 在開啟的確認飛出視窗中,選取 [ 重複]

  6. 在開啟的成功飛出視窗中,選取 [ 關閉 X]

您如何知道您已成功建立郵件流程規則?

若要確認您已成功建立郵件流程規則,請執行下列其中一個步驟:

  • 在 EAC https://admin.exchange.microsoft.com/#/transportrules的 [規則] 頁面上,確認已列出您建立或複製的郵件流程規則。

  • 在 Exchange Online PowerShell 中,以您建立或複製的規則名稱取代 <[新增規則名稱>],然後執行下列命令:

    Get-TransportRule -Identity "<New Rule Name>""
    

檢視或修改郵件流程規則

注意事項

修改郵件流程規則之後,可能需要 30 分鐘以上的時間,更新後的規則才會套用至電子郵件。

使用 EAC 檢視或修改郵件流程規則

  1. 在新的EAC中 https://admin.exchange.microsoft.com,移至 [郵件流程>規則]。 或者,若要直接移至 [規則] 頁面,請使用 https://admin.exchange.microsoft.com/#/transportrules
  2. 在 [ 規則] 頁面上,按兩下名稱旁邊的圓形複選框以外的數據列中的任何位置,從清單中選取規則。
  3. 在開啟的詳細資料飛出視窗中,您可以選取飛出視窗頂端的 [ 編輯規則條件 ] 和 [ 編輯規則設定 ],以查看現有的設定並進行變更。 可用的設定與建立新規則相同,如 使用 EAC 建立郵件流程規則一 節中所述。

使用 Exchange Online PowerShell 檢視或修改郵件流程規則

下列範例會傳回組織中所有郵件流程規則的摘要清單:

Get-TransportRule

若要檢視特定郵件流程規則的詳細資訊,請提供規則 (的唯一標識符,例如 Name、DistinguishedName 或 GUID) 。 將輸出傳送至 Format-List Cmdlet 來格式化屬性會很有説明。

下列範例會傳回指定郵件流程規則的所有屬性:

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

下列範例會將例外狀況新增至名為「寄件者是營銷人員」的現有規則,使其不適用於使用者的 Mail Rollin 所傳送的訊息:

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

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

您如何知道您已成功修改郵件流程規則?

若要確認您已成功修改郵件流程規則,請執行下列其中一個步驟:

  • 在 EAC https://admin.exchange.microsoft.com/#/transportrules的 [規則] 頁面上,按兩下 [狀態] 值旁邊單選按鈕以外的任何數據列,選取您修改的規則。 在開啟的詳細數據飛出視窗中,確認設定。

  • 在 Exchange Online PowerShell 中,以您修改的規則名稱取代<規則名稱>,然後執行下列命令:

    Get-TransportRule -Identity "<Rule Name>" | Format-List Name,ExceptIfFrom
    

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

在 EAC 的 [ 規則] 頁面上,郵件流程規則會以處理的順序顯示。 清單頂端的規則具有 Priority 值 0,而且會先處理。

使用 EAC 來設定規則的優先順序

  1. 在 EAC 的 https://admin.exchange.microsoft.com中,移至 [郵件流程>規則]。 或者,若要直接移至 [規則] 頁面,請使用 https://admin.exchange.microsoft.com/#/transportrules
  2. 在 [ 規則] 頁面上,選取 [狀態 ] 值旁邊的單選按鈕來選取規則,然後選取 [ 上移 ] 或 [ 下移 ] 動作,將規則向上或向下移動清單。

使用 Exchange Online PowerShell 設定規則的優先順序

下列範例會將指定郵件流程規則的優先順序設定為 2:

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

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

您如何知道您已成功設定郵件流程規則的優先順序

若要確認您已成功設定信件流程規則的優先順序,請執行下列其中一個步驟:

啟用或停用郵件流程規則

根據預設,當您使用 EAC 建立郵件流程規則時,會停用郵件流程規則的狀態。 這麼做可讓您在最終啟用規則之前,再檢閱一次規則。 您可以在規則建立完成之後啟用規則。

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

  1. 在 EAC 的 https://admin.exchange.microsoft.com中,移至 [郵件流程>規則]。 或者,若要直接移至 [規則] 頁面,請使用 https://admin.exchange.microsoft.com/#/transportrules
  2. 在 [ 規則] 頁面上,按下名稱旁邊單選按鈕以外的數據列中的任何位置來選取規則。 規則的 [狀態 ] 值為 [ 已啟用 ] 或 [ 已停用]
  3. 在開啟的詳細數據飛出視窗中,使用飛出視窗頂端附近的 [ 啟用或停用規則 ] 區段中的切換來啟用或停用規則。

使用 Exchange Online PowerShell 啟用或停用郵件流程規則

下列範例會停用指定的郵件流程規則:

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

下列範例會啟用指定的郵件流程規則:

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

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

如何知道您已成功啟用或停用郵件流程規則?

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

  • 在 EAC https://admin.exchange.microsoft.com/#/transportrules的 [規則] 頁面上,確認 [狀態] 資料行中的值。

  • 在 Exchange Online PowerShell 中,執行下列命令以傳回組織中所有規則的清單及其狀態值:

    Get-TransportRule | Format-Table Name,State
    

移除郵件流程規則

使用 EAC 移除郵件流程規則

  1. 在 EAC 的 https://admin.exchange.microsoft.com中,移至 [郵件流程>規則]。 或者,若要直接移至 [規則] 頁面,請使用 https://admin.exchange.microsoft.com/#/transportrules
  2. 在 [ 規則] 頁面上,選取 [狀態 ] 值旁邊的單選按鈕來選取規則,然後選取 [ 刪除刪除] 圖示。 出現的動作。
  3. 在開啟的確認飛出視窗中,選取 [ 確認]

使用 Exchange Online PowerShell 移除郵件流程規則

下列範例會移除指定的郵件流程規則:

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

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

您如何知道您已成功移除郵件流程規則?

若要確認您已成功移除郵件流程規則,請執行下列其中一個步驟:

監視規則使用

您可以在 EAC 中使用 Exchange 傳輸規則報告 來檢查每個規則相符的次數。 若要讓規則包含在報表中,規則不能有 [嚴重性 ] 值 [不稽 核 (所有其他值) 。 您可以在線檢視報表,或將報表數據下載到 .csv 檔案。

注意事項

報告中的大部分資料都在 24 小時內,但有些資料可能需要 5 天才會出現。

  1. 在 的EAC 中 https://admin.exchange.microsoft.com,移至 [報表>郵件] 流程。 或者,若要直接移至 [郵件流程報告 ] 頁面,請使用 https://admin.exchange.microsoft.com/#/reports/mailflowreportsmain
  2. 在 [ 郵件流程報告] 頁面上,尋找並選取 [Exchange 傳輸規則報告]

如需報表的詳細資訊,請參閱 Exchange Online 中新 Exchange 系統管理中心的 Exchange 傳輸規則報告

在 Exchange Online 中匯入或匯出郵件流程規則集合

使用 Exchange Online PowerShell 中的 Export-TransportRuleCollection Cmdlet,將組織中的所有郵件流程規則導出至 XML 檔案。 如需詳細資訊,請參閱 Export-TransportRuleCollection

Import-TransportRuleCollection Cmdlet 將從 Exchange Online PowerShell 中淘汰。 若要在 PowerShell 中手動匯入郵件流程規則集合 XML 檔案 Exchange Online,請執行下列步驟:

  1. 使用 Export-TransportRuleCollection Cmdlet 備份所有現有的郵件流程規則 (下一個步驟會移除所有現有的郵件流程規則,就像 Import-TransportRuleCollection Cmdlet) 一樣。 例如:

    $file = Export-TransportRuleCollection
    
    [System.IO.File]::WriteAllBytes('C:\MailFlowRuleCollections\BackupRuleCollection.xml', $file.FileData)
    
  2. 執行下列命令,以移除組織中所有現有的郵件流程規則:

    Get-TransportRule | foreach {Remove-TransportRule $_.Guid -Confirm:$false}
    
  3. 將下列文字複製到記事本:

    if ((Get-TransportRule).Count -ne 0)
    
    {
       Write-Host "Please remove your current mail flow rules first."
    
        return
    }
    
    [xml]$xml = Get-Content "C:\MailFlowRuleCollections\RuleCollectionToImport.xml"
    
    $rulesToImport = $xml.SelectNodes("//rules/rule")
    
    if ($rulesToImport.Count -eq 0)
    
    {
        Write-Host "There are no mail flow rules to be imported."
    
        return
    }
    
    Write-Host "Importing $($rulesToImport.Count) mail flow rules."
    
    $index = 0
    
    foreach ($rule in $rulesToImport)
    
    {
        $index++
    
        Write-Host "Importing rule '$($rule.Name)' $index/$($rulesToImport.Count)."
    
        Invoke-Expression $($rule.version.commandBlock.InnerText) | Out-Null
    }
    
  4. 使用您要匯入之信件流程規則 XML 集合的路徑和檔案名來更新下列這一行:

    [xml]$xml = Get-Content "C:\MailFlowRuleCollections\RuleCollectionToImport.xml"
    
  5. 將檔案儲存為 .ps1 在您很容易找到 (的位置, C:\Data\Import-Rules.ps1 例如,) 。

  6. 在 PowerShell 中,使用下列語法來執行腳本:

    & "<Path to script file>\<FileName>.ps1"
    

    例如:

    & "C:\Data\Import-Rules.ps1"
    

需要其他協助嗎?

Exchange Online 中的郵件流程規則 (傳輸規則)

Exchange Online 中的郵件流程規則條件和例外狀況 (述詞)

Exchange Online 中的郵件流程規則動作

日誌、傳輸和收件匣規則限制