AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 949386
Accepted
Michał Sacharewicz
Michał Sacharewicz
Asked: 2019-01-17 07:59:45 +0800 CST2019-01-17 07:59:45 +0800 CST 2019-01-17 07:59:45 +0800 CST

尽管 SCL 标头值,但 Exchange 未将邮件放入垃圾邮件

  • 772

问题

我正在通过基于 Exchange 的规则设置 SCL 值。当所需条件匹配并且正确设置 SCL 值时,规则会正确应用,如邮件标头所示。此外,SCL 值集 (6) 与垃圾 SCL 阈值(默认值,5)匹配。

但是,Exchange 服务器不会将邮件放入垃圾文件夹。

我正在寻找可能出现问题的提示,可能会破坏正确工作流程的提示,等等。或有关要执行的其他诊断步骤的任何提示。

设想

我目前正在以下场景(示例值)中进行到 Exchange 2016 的迁移:

在此处输入图像描述

  1. DNS MX 记录将发件人定向到旧服务器,
  2. 旧服务器通过 SpamAssassin 执行垃圾邮件分析,并在邮件中添加相应的标头,包括X-Spam-Score,
  3. 发送给旧服务器不知道的收件人的邮件(即迁移的邮箱)被转发到 Exchange,
  4. 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

我已经在所有节点上安装了反垃圾邮件代理并执行了以下测试:

  1. 发送伪造邮件触发 SenderID 失败;
  2. 发送伪造的邮件以触发高 SCL 结果,而不会触发预先拒绝。

这两个测试确实导致 SCL6 消息被传递,但同样是传递到收件箱而不是垃圾文件夹。

这证明该问题与运输规则无关。无论哪种机制提高/设置 SCL 级别,消息都会在收件箱中结束。

exchange
  • 2 2 个回答
  • 3644 Views

2 个回答

  • Voted
  1. Best Answer
    Michał Sacharewicz
    2019-03-30T08:18:21+08:002019-03-30T08:18:21+08:00

    我找到了问题的直接原因。

    垃圾邮件通过收件箱规则机制移动到垃圾文件夹,相当于传输规则,但在邮箱级别 - 通过Mail > Automatic processing > Inbox and sweep rules选项卡可配置的规则。

    默认情况下,每个邮箱都带有一个名为的隐藏收件箱规则Junk E-mail Rule- 它的存在可能会通过 PowerShell 显示:

    PS > Get-InboxRule -Mailbox "[email protected]" -IncludeHidden
    
    Name             Enabled Priority RuleIdentity
    ----             ------- -------- ------------
    Junk E-mail Rule True    1        4028702183896383681
    

    对于我们的服务器,大量邮箱(使用单个 PowerShell 批处理创建的帐户的 75%)缺少此规则。

    虽然导致规则丢失的潜在问题尚不清楚并将进行调查,但临时解决方案是通过关闭并再次打开垃圾邮件过滤来重新生成规则:

    Set-MailboxJunkEmailConfiguration $MailBox -Enabled $False
    Set-MailboxJunkEmailConfiguration $MailBox -Enabled $True
    

    这可能适用于所有受影响的邮箱:

    Get-Mailbox -ResultSize Unlimited | %{
    
        $Rule = Get-InboxRule -Mailbox $MailBox -IncludeHidden | ? Name -eq "Junk E-mail Rule"
    
        If ( $Rule -eq $null ) {
            Set-MailboxJunkEmailConfiguration $MailBox -Enabled $False
            Set-MailboxJunkEmailConfiguration $MailBox -Enabled $True
        }
    }
    

    请注意,在解决基本问题之前,需要在有关创建交易所帐户的所有工作流程中实施此过程。

    • 2
  2. Kelvin_D
    2019-01-18T00:53:21+08:002019-01-18T00:53:21+08:00

    所有收件人都收到收件箱文件夹中的垃圾邮件还是特定的?

    请访问 OWA 并检查以下屏幕截图中的配置是否正确。

    在此处输入图像描述

    • 0

相关问题

  • 如何在使用 RPC over HTTPS 时停止 Outlook 2007 要求提供凭据

  • Exchange 备份的 NT 备份是否会使 Exchange 脱机?

  • 如何在 Exchange 2007 中设置资源邮箱日历的忙/闲权限?

  • Exchange 2007:将带有 SenderID 的邮件移动到垃圾邮件文件夹失败?

  • 如何使用 Exchange 2003 SP2 将垃圾邮件发送到个人垃圾文件夹?

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve