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 / 问题 / 1125525
Accepted
Frizlab
Frizlab
Asked: 2023-03-07 18:29:35 +0800 CST2023-03-07 18:29:35 +0800 CST 2023-03-07 18:29:35 +0800 CST

DMARC 和 SPF 之间哪个优先级更高?

  • 772

首先让我先说我知道 DMARC 和 SPF做的不是同一件事。
但是,两者都可以选择告诉接收服务器如何处理未通过 SPF 的邮件(如果是 DMARC,则为 DKIM)。

现在让我们有一个 SPF 设置为v=spf1 include:… ~all(重要部分是~all)和 DMARC 设置为的理论案例v=DMARC1; p=reject; rua=…。

在这种情况下,如果我理解正确的话,我们有一个 SPF 记录告诉“将没有通过 SPF 的邮件标记为垃圾邮件”和一个 DMARC 记录告诉“不接受没有通过 DKIM 或 SPF 的邮件”。

当收到未通过 SPF 的邮件时,哪个指令优先?如果将 DMARC 条目设置为p=none,答案是否相同?

spf
  • 1 1 个回答
  • 225 Views

1 个回答

  • Voted
  1. Best Answer
    Paul
    2023-03-07T20:48:06+08:002023-03-07T20:48:06+08:00

    来自 RFC 7208:

    8.5. 软故障

    “软失败”结果应该被视为介于“失败”和“中性”/“无”之间的某个地方。ADMD 认为主机未获得授权,但不愿意做出强硬的政策声明。接收软件不应仅基于此结果拒绝该消息,但可以比正常情况更严格地审查该消息。

    ADMD 不希望使用此主机,因此希望在出现“软故障”结果时获得有限的反馈。例如,收件人的 MUA 可以突出显示“软失败”状态,或者接收 MTA 可以使用灰名单 [RFC6647] 给发件人一条消息,并在第一次收到消息时附上注释,但稍后会根据接收者政策。

    这里的关键词是“不应该”,因此接收服务器可以执行其他策略并且仍然在标准范围内。

    来自 RFC 7489:

    reject: 域所有者希望邮件接收者拒绝未通过 DMARC 机制检查的电子邮件。拒绝应该发生在 SMTP 交易期间。

    这里的关键短语是“wishes”和“SHOULD”,因此接收服务器可以强制执行其他策略并在 SMTP 事务期间做他们想做的任何事情,同时仍然在策略范围内。

    我最好的猜测是,如果接收方正在执行 DMARC,那么p=reject将是最重要的策略。

    同样来自 RFC 7489 中的同一部分:

    none:域所有者请求不对消息的传递采取任何特定操作。

    这里的关键词是“请求”。在实践中,这几乎总是被视为没有 DMARC 政策,除了发送报告,因为该政策用于测试。

    作为旁注,您似乎对 DMARC 正在测试的内容有一个普遍的误解。DMARC 测试对齐,这不是 DKIM 或 SPF 正在测试的内容,因此当 DMARC 失败时,这些测试都可以通过。

    • 6

相关问题

  • 这封电子邮件如何通过 DMARC?

  • 防止您看起来像垃圾邮件发送者的最佳做法 [重复]

  • 如何为服务器上的多个域配置 SPF?(也允许 gmail 作为发件人)

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