Exchange Server中的邮件流规则

可以使用邮件流规则 (也称为传输规则) 来识别流经 Exchange 2016 和 Exchange 2019 组织中的传输管道的邮件并采取措施。 邮件流规则类似于 Outlook 中可用的收件箱规则,Outlook 网页版 (以前称为Outlook Web App) 。 主要区别在于邮件流规则在邮件传输过程中对其进行操作,而不是在邮件传递到邮箱后进行操作。 邮件流规则包含更丰富的条件、例外和操作集,让你能灵活实现多种类型的邮件策略。

本文介绍了邮件流规则的组件其工作方式

可以使用 Exchange 管理中心 (EAC) 或 Exchange 命令行管理程序来管理邮件流规则。 有关如何管理邮件流规则的说明,请参阅 Exchange Server 中邮件流规则的过程

可以选择强制实施每个规则、只是测试规则,或测试每个规则并通知发件人。 若要了解有关测试选项的详细信息,请参阅 测试邮件流规则策略提示

有关实施特定邮件策略的步骤,请参阅以下主题:

邮件流规则组件

规则由条件、例外、操作和属性组成:

  • 条件:确定要对其应用操作的消息。 一些条件检查邮件头字段(例如“收件人”、“发件人”或“抄送”字段)。 其他条件检查邮件属性(例如邮件主题、正文、附件、邮件大小或邮件分类)。 大多数条件要求你指定比较运算符(例如等于、不等于或包含)以及要匹配的值。 如果没有条件或例外,规则将应用到所有邮件。

    有关邮件流规则条件的完整列表,请参阅 Exchange Server 中) 谓词 (邮件流规则条件和例外

  • 例外:(可选)标识不应应用操作的消息。 条件中可用的相同邮件标识符同样在例外中可用。 例外会覆盖条件并阻止规则操作应用于邮件,即使邮件匹配所有配置的条件也是如此。

  • 操作:指定对与规则中的条件匹配且与任何异常不匹配的邮件执行的操作。 例外会覆盖条件并阻止将操作应用于电子邮件,即使该邮件符合所有配置的条件也是如此。

    有关可用邮件流规则操作的完整列表,请参阅 Exchange Server 中的邮件流规则操作

  • 属性:指定非条件、异常或操作的其他规则设置。 例如,应何时应用规则、是否强制实施或测试规则,以及规则可用的时间段。 有关详细信息,请参阅本主题中的邮件流规则属性部分。

多个条件、例外和操作

下表显示了在规则中如何处理多个条件、条件值、例外和操作。

组件 逻辑 备注
多个条件 AND 邮件必须匹配该规则的所有条件。 如果需要匹配一个条件或另一个条件,请对每个条件使用不同的规则。 例如,如果要为带有附件的邮件和包含指定文本的邮件添加相同的免责声明,请为每个条件创建一个规则。 在 EAC 中,你可以轻松地复制规则。
一个条件具有多个值 OR 一些条件允许你指定多个值。 邮件必须匹配任一(并非全部)指定值。 例如,如果电子邮件的主题为 Stock price information,并且 主题包含这些词中的任一个条件被配置为匹配单词 Contoso 或 stock,则符合该条件,因为主题中至少包含指定值中的一个。
多个例外 OR 如果邮件匹配任何例外,则操作不会应用到邮件。 该邮件不需要匹配所有例外。
多个操作 AND 匹配规则条件的邮件获取规则中指定的所有操作。 这与规则代理对条件的处理方式是完全相反的。
要记住,某些操作(例如在不通知任何人的情况下删除邮件操作)会阻止后续规则应用于邮件。 Other actions such as Forward the message do not allow additional actions.
还可以为规则设置操作,以便在应用该规则时,后续规则不会应用至邮件。

邮件流规则属性

下表介绍了邮件流规则中所提供的规则属性。

EAC 中的属性名称 Exchange 命令行管理程序中的参数名称 说明
优先级 Priority 指示规则应用于邮件的顺序。 默认优先级基于规则创建的先后顺序(较早规则的优先级高于较新规则的优先级),先处理具有较高优先级的规则,然后再处理具有较低优先级的规则。
通过在规则列表中上移或下移规则可更改 EAC 中规则的优先级。 在 Exchange 命令行管理程序中,将优先级编号设置为 (0 是) 的最高优先级。
例如,如果有一个拒绝包含信用卡号码的邮件的规则,还有一个需要批准的规则,你希望拒绝规则先发生,并停止应用其他规则。
有关详细信息,请参阅设置邮件流规则的优先级
使用严重性级别审核此规则 SetAuditSeverity 设置事件报告的严重性级别,以及当邮件违反 DLP 策略时写入邮件跟踪日志的相应条目。 有效值为 DoNotAudit、Low、Medium 和 High。
模式 Mode 可以指定是否让规则立即处理邮件,或是否在不影响邮件传递(启用或不启用数据丢失防护或 DLP 策略提示)的情况下测试规则。
策略提示类似于邮件提示,可以配置为在 Outlook 或 Outlook 网页版中提供简短说明,以便向创建邮件的人员提供有关可能违反策略的信息。 有关详细信息,请参阅 策略提示。有关模式的详细信息,请参阅 测试邮件流规则
在以下日期激活此规则
在以下日期停用此规则
ActivationDate
ExpiryDate
指定启用该规则的日期范围。
选中或未选中 On 复选框 新规则:New-TransportRule cmdlet 上的 Enabled 参数。
现有规则:使用 Enable-TransportRuleDisable-TransportRule cmdlet。
该值显示在规则的 State 属性中。
可以创建一个禁用规则,并在准备测试它时将其启用。 或者,在不删除该规则的情况下将其禁用,以保留设置。 有关说明,请参阅启用或禁用邮件流规则
如果规则处理未完成,则延迟邮件 RuleErrorAction 如果无法完成规则处理,可以指定邮件的处理方式。 默认情况下,系统将忽略该规则,但可以选择重新提交邮件进行处理。
匹配邮件中的发件人地址 SenderAddressLocation 如果规则使用检查发件人的电子邮件地址的条件或例外,则可以在邮件标头、 邮件信封或同时在两者中查找该值。 有关详细信息,请参阅 发件人.
停止处理更多规则 SenderAddressLocation 这是一种规则操作,但它看起来像 EAC 中的属性。 你可以选择在规则处理完某个邮件后,停止向邮件应用其他规则。
注释 Comments 评论 可以输入有关规则的描述性注释。

如何应用邮件流规则

邮件流规则通过邮箱服务器和边缘传输服务器上的传输代理应用。 在邮箱服务器上,规则通过传输规则代理应用。 在边缘传输服务器上,规则通过边缘规则代理应用。 虽然在功能上类似,但代理之间有一些区别。 下表总结了其中的重要区别:

传输代理 在其中调用规则的 SMTP 或分类程序事件 规则存储位置
邮箱服务器上的传输规则代理 OnResolvedMessage 分类程序事件。
在 Exchange 2010 中,对 OnRoutedMessage 分类程序事件调用了传输规则代理。 对 OnResolvedMessage 的更改已允许可更改邮件路由方式的新规则操作(例如,要求 TLS)。
在 Active Directory 中。 规则适用于 Active Directory 林中的所有邮箱服务器。
边缘传输服务器上的边缘规则代理 OnEndOfData SMTP 事件 在服务器 Active Directory 轻型目录服务(AD LDS)的本地实例中。 规则仅应用于通过本地服务器的邮件。

有关传输代理的详细信息,请参阅 Exchange Server 中的传输代理

基于消息类型的处理的差异

通过组织的邮件类型有数种。 下表显示了哪些邮件类型可以通过邮件流规则进行处理。

消息类型 能否应用规则?
常规邮件 包含单个富文本格式 (RTF)、HTML、纯文本邮件正文、多部分或备用的邮件正文集的邮件。
S/MIME 加密邮件 规则仅可根据检查这些标头的条件来访问信封头并处理邮件。
无法处理具有需要检查邮件内容的条件的规则或可以修改邮件内容的操作。
RMS 保护的消息:通过应用 Active Directory Rights Management Services (AD RMS) 权限策略模板来保护的消息。 规则始终可以访问信封标头,并根据检查这些标头的条件处理消息。对于检查或修改受保护邮件内容的规则,需要:
  • 将传输解密设置为“强制”或“可选”。 传输解密默认设置为“可选”。
  • 具有加密密钥
.
已明文签名的邮件: 已签名但未加密的邮件。
UM 邮件:由 Exchange 2016 中的统一消息服务创建或处理的邮件,例如语音邮件、传真、未接来电通知以及使用 Microsoft Outlook Voice Access 创建或转发的邮件。 (注意:统一消息在 Exchange 2019 中不可用。)
匿名邮件:匿名发件人发送的邮件。
读取报告:为响应发件人的读取回执请求而生成的报表。 读取报表的消息类为 IPM.Note*.MdnReadIPM.Note*.MdnNotRead

规则存储和复制

在邮箱服务器上创建和配置的邮件流规则存储在 Active Directory 中,这些规则通过组织中所有邮箱服务器上的传输服务读取并应用。 创建、修改或删除邮件流规则时,此更改会在组织中的域控制器间进行复制。 这样,Exchange 可以为整个组织提供一致的邮件流规则集。

注意

  • 域控制器之间的复制取决于不受 Exchange 控制的因素(例如,Active Directory 网站数量和网络链接的速度)。 因此,在组织中实现邮件流规则时,需要考虑复制延迟。 有关 Active Directory 复制的详细信息,请参阅使用 Windows PowerShell 进行 Active Directory 复制和拓扑管理简介

  • 每个邮箱服务器缓存已展开通讯组来避免重复的 Active Directory 查询,以确定组成员资格。 默认情况下,展开的组缓存中的条目将每四个小时过期一次。 因此,在更新展开的组缓存之前,对组成员资格的更改不能通过邮件流规则检测。 要强制在邮箱服务器上立即更新缓存,请重启 Microsoft Exchange 传输服务。 若要强制更新缓存,需要重启邮箱服务器上的服务。

在边缘传输服务器上创建并配置的邮件流规则存储在服务器上的 AD LDS 本地实例中。 邮件流规则不会在边缘传输服务器上进行自动复制。 边缘传输服务器上的规则仅应用于通过本地服务器传递的邮件。 如果需要在多个边缘传输服务器上应用相同的邮件流规则集,则可以克隆边缘传输服务器配置,或导出和导入邮件流规则。 有关详细信息,请参阅 边缘传输服务器克隆配置导入或导出邮件流规则集合

每当邮箱服务器或边缘传输服务器上的传输服务检测到已修改的邮件流规则时,事件将记录在事件查看器中的应用程序日志中(邮箱服务器上的事件 ID 4002 以及边缘传输服务器上的事件 ID 16028)。

混合环境中的规则复制和存储

有两种常见的混合环境方案:

  • 组织的一部分驻留在 Microsoft 365 或 Office 365 的混合部署

    在混合环境中,本地 Exchange 组织与 Microsoft 365 或 Office 365 之间没有规则复制。 因此,在 Exchange 中创建规则时,需要在 Microsoft 365 或 Office 365 中创建匹配的规则。 在 Microsoft 365 或 Office 365 中创建的规则存储在云中,而在本地组织中创建的规则存储在本地 Active Directory 中。 在混合环境中管理规则时,通过设置为可同时在两个环境进行更改,或者在一个环境中进行更改,然后导出规则并将其导入到另一个环境中,可使这两个规则集保持同步。

    重要提示:尽管 Microsoft 365 或 Office 365 和 Exchange Server 中可用的条件和操作之间存在大量重叠,但也有差异。 如果你计划在两处位置创建相同的规则,请确保要使用的所有条件和操作都可用。 若要查看 Microsoft 365 或 Office 365 中可用的可用条件和操作的列表,请参阅以下主题:

    Exchange Online 中的邮件流规则条件和例外(谓词)

    Exchange Online 中的邮件流规则操作

  • 与 Exchange 2010 共存

    注意

    本部分仅适用于 Exchange 2016。

    与 Exchange 2010 共存时,所有邮件流规则都存储在 Active Directory 中,并在整个组织中复制,而不考虑创建规则时所用的Exchange Server版本。 但是,所有邮件流规则都与用于创建规则的 Exchange 服务器版本相关联,并存储在 Active Directory 中特定于版本的容器中。 首次在组织中部署 Exchange 2016 时,任何现有规则将作为设置过程的一部分导入到 Exchange 2016。 不过,之后如有任何更改,两个版本必须进行相同的更改。 例如,如果在 Exchange 2016 (Exchange 命令行管理程序中更改现有规则或 EAC) ,则需要在 Exchange 2010 (Exchange 命令行管理程序或Exchange 管理控制台) 中进行相同的更改。

    Exchange 2010 无法处理 VersionRuleVersion 值为 15 的规则。n.n.n. 若要确保所有规则都可以处理,请仅使用值为 14 的规则。n.n.n.