问题
我正在通过基于 Exchange 的规则设置 SCL 值。当所需条件匹配并且正确设置 SCL 值时,规则会正确应用,如邮件标头所示。此外,SCL 值集 (6) 与垃圾 SCL 阈值(默认值,5)匹配。
但是,Exchange 服务器不会将邮件放入垃圾文件夹。
我正在寻找可能出现问题的提示,可能会破坏正确工作流程的提示,等等。或有关要执行的其他诊断步骤的任何提示。
设想
我目前正在以下场景(示例值)中进行到 Exchange 2016 的迁移:
- DNS MX 记录将发件人定向到旧服务器,
- 旧服务器通过 SpamAssassin 执行垃圾邮件分析,并在邮件中添加相应的标头,包括
X-Spam-Score
, - 发送给旧服务器不知道的收件人的邮件(即迁移的邮箱)被转发到 Exchange,
- Exchange 对
X-Spam-Score
标头值、匹配模式[+]{4}
(四个或更多+
字符,相当于4.0+
分数)应用规则,将 SCL 级别设置为6
.
规则的确切配置(基于Get-TransportRule
显示):
HeaderMatchesMessageHeader : X-Spam-Score
HeaderMatchesPatterns : {[+]{4}}
SetSCL : 6
我知道这到目前为止有效,因为收到的与X-Spam-Score
模式匹配的消息确实会获得X-MS-Exchange-Organization-SCL: 6
标题。
然而,邮件最终在收件箱中,而不是被转发到垃圾文件夹:(
已传递消息中的示例结果标头集:
X-Spam-Score: 8.0 (++++++++)
X-MS-Exchange-Organization-SCL: 6
X-MS-Exchange-Organization-AuthSource: mbx-a.example.com
X-MS-Exchange-Organization-AuthAs: Anonymous
X-MS-Exchange-Transport-EndToEndLatency: 00:00:01.0250276
X-MS-Exchange-Processed-By-BccFoldering: 15.01.1531.003
附加信息
上述配置基本上是标准 Exchange Online Protection 配置的类似物,其中 EOP 服务器可以被视为具有 SpamAssassin 的旧服务器的等价物。在这方面,EOP 文档建议了一个非常相似的配置,不同之处仅在于用于确定消息状态的源标头。进一步的部署计划假定在旧服务器之前部署 EOP,然后删除具有垃圾邮件保护角色的旧服务器。
到目前为止,有关垃圾/删除/拒绝 SCL 阈值的服务器配置几乎是默认的,详细信息:
获取组织配置:
SCLJunkThreshold : 4
获取内容过滤器配置:
SCLRejectThreshold : 7
SCLRejectEnabled : True
SCLDeleteThreshold : 9
SCLDeleteEnabled : False
SCLQuarantineThreshold : 9
SCLQuarantineEnabled : False
Exchange 设置不包括边缘传输服务器,并且未在邮箱服务器上安装/启用反垃圾邮件代理,但 Microsoft 文档未提及任何此类要求,例如:
- https://docs.microsoft.com/.../ensure-that-spam-is-routed-to-each-user-s-junk-email-folder
- https://docs.microsoft.com/en-us/exchange/edge-transport-servers
更新 1
我已经在所有节点上安装了反垃圾邮件代理并执行了以下测试:
- 发送伪造邮件触发 SenderID 失败;
- 发送伪造的邮件以触发高 SCL 结果,而不会触发预先拒绝。
这两个测试确实导致 SCL6 消息被传递,但同样是传递到收件箱而不是垃圾文件夹。
这证明该问题与运输规则无关。无论哪种机制提高/设置 SCL 级别,消息都会在收件箱中结束。
我找到了问题的直接原因。
垃圾邮件通过收件箱规则机制移动到垃圾文件夹,相当于传输规则,但在邮箱级别 - 通过
Mail > Automatic processing > Inbox and sweep rules
选项卡可配置的规则。默认情况下,每个邮箱都带有一个名为的隐藏收件箱规则
Junk E-mail Rule
- 它的存在可能会通过 PowerShell 显示:对于我们的服务器,大量邮箱(使用单个 PowerShell 批处理创建的帐户的 75%)缺少此规则。
虽然导致规则丢失的潜在问题尚不清楚并将进行调查,但临时解决方案是通过关闭并再次打开垃圾邮件过滤来重新生成规则:
这可能适用于所有受影响的邮箱:
请注意,在解决基本问题之前,需要在有关创建交易所帐户的所有工作流程中实施此过程。
所有收件人都收到收件箱文件夹中的垃圾邮件还是特定的?
请访问 OWA 并检查以下屏幕截图中的配置是否正确。