Exchange Online 传输规则的优先级和「停止处理更多规则」该怎么用?
邮件流规则不是并行生效,而是按优先级从上到下依次评估。理解这一点是避免大部分规则事故的前提。
典型现象:新加的安全规则「看起来没生效」,实际是前面某条规则已经处置并终止了后续评估。排查规则问题时,第一步永远是把完整规则列表按优先级打印出来通读一遍,而不是盯着出问题的那一条看。
- 标记类(低风险):加头部、加主题前缀、加免责声明、加策略提示。不改变投递结果,适合先行观察。
- 路由类(中风险):重定向、抄送、加收件人、要求审批。会改变邮件去向,需要确认接收方能承接。
- 处置类(高风险):拒绝、删除、设置垃圾评分。直接影响送达,配置错误会造成静默丢件——删除动作尤其危险,因为不留痕、用户和发件人都不会收到任何提示。
该动作让匹配到的邮件跳过后续所有规则。它常被用来避免重复处置,但代价往往被低估。
典型事故:一条优先级很高的业务规则(例如给某供应商邮件加标记)勾选了停止处理,而更下方排列着「对含敏感关键词的邮件强制审批」和「对外部高管冒充加警示」两条安全规则。结果是该供应商通道完全绕过了后续安全规则,而配置者对此毫无察觉。
规则:安全类规则应排在最前;业务标记类规则原则上不勾选停止处理;确需勾选时,必须书面记录它跳过了哪些规则并经过评审。
通过规则直接把某类邮件的垃圾评分设为最低,等于宣告这条通道免检。它比允许列表更隐蔽——它藏在规则里,做安全评审时很容易被漏掉。
若必须使用,条件要足够收敛:同时限定发件域、特定发件地址与特定的验证性头部,而不是仅凭发件域一个条件。仅凭域名匹配的免检规则,在对方域被冒充时会直接失效。
规则支持在不实际执行动作的前提下运行,仅生成匹配记录或向用户显示提示。新规则上线前应当先跑测试模式,回答两个问题:
- 匹配量级是否符合预期?预期每天几十封却匹配到几千封,说明条件写宽了。
- 匹配到的样本是否都该被处置?抽样人工核对,比事后处理投诉便宜得多。
邮件流规则是典型的「只增不减」资产,几年后往往积累出几十条无人能完整解释的规则。建议:
- 每条规则的名称中带上用途与责任方,不要用默认名称。
- 为临时性规则设置到期日期,让它自动失效。
- 定期导出全部规则做人工评审,重点核对:勾选了停止处理的有哪些、包含删除或降低评分动作的有哪些、超过一年零匹配的有哪些。
- 规则变更纳入审计日志检索范围,确保可追溯到人。
参考:Microsoft Learn:Mail flow rules (transport rules) in Exchange Online、Microsoft Learn:Mail flow rule actions in Exchange Online、Microsoft Learn:Search the audit log
