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 / 问题 / 580278
Accepted
Rook
Rook
Asked: 2014-03-07 08:15:12 +0800 CST2014-03-07 08:15:12 +0800 CST 2014-03-07 08:15:12 +0800 CST

尽管 SPF “hardfail”,为什么电子邮件仍能正常发送?

  • 772

我试图弄清楚为什么即使电子邮件标有 SPF 也会将伪造的电子邮件发送给主要的电子邮件提供商(gmail.com、outlook.com)hardfail。该电子邮件还被传递到 Microsoft Exchange,它为PermError相同的 SPF 记录抛出一个。

我正在使用 SOME_DOMAIN.com 域发送电子邮件,该域定义了损坏的 SPF 记录。该电子邮件是从我自己的 IP 地址传输的,该地址未在 SOME_DOMAIN.com 的 SPF 记录中明确列出。SOME_DOMAIN.com 的 SPF 记录具有以下三个属性,前两个违反 SPF RFC-4408:

  1. 由于include:.
  2. SPF 记录之一中的语法错误,python-spf 引发解析错误。
  3. SPF 记录包含规则~all和-all,都表示所有地址的集合应该softfail和hardfail

发送到模拟 admin@SOME_DOMAIN.com 的 Outlook.com 地址的电子邮件将在已发送电子邮件的 SMTP 标头中包含以下错误。此电子邮件已正常发送到用户的收件箱:

Received-SPF: PermError (: domain of SOME_DOMAIN.com used an invalid SPF mechanism)

Gmail 还会将电子邮件发送到用户的收件箱,但会引发不同的 SPF 错误:

spf=hardfail (google.com: domain of admin@SOME_DOMAIN.COM does not designate x.x.x.x as permitted sender) smtp.mail=admin@SOME_DOMAIN.COM

那么这里发生了什么?为什么尽管有 SPF 仍会发送电子邮件hardfail?SPF 记录损坏是否意味着其他 SMTP 服务器完全无视 SPF?还是我在这里缺少什么...

email
  • 2 2 个回答
  • 6666 Views

2 个回答

  • Voted
  1. Best Answer
    Flup
    2014-03-07T08:31:15+08:002014-03-07T08:31:15+08:00

    如此多的站点对 SPF 的配置非常糟糕,以至于接收 MTA 通常仅被hardfail视为建议,并且仅将其计入垃圾邮件检测分数。最后,如何处理 SPF 故障由 MTA 管理员决定。

    • 17
  2. BillThor
    2014-03-07T17:43:45+08:002014-03-07T17:43:45+08:00

    SPF 错误条件不指示有关所需策略的任何内容。因此,它们不提供关于是否接受该消息的指导。预期的策略可能是+all. 在这种情况下接受邮件是正常的。谷歌似乎对这个不符合标准的域很宽容。

    在验证发件人地址时,即使 SPF 策略拒绝 ( -all) 也不可靠。在许多情况下拒绝此类邮件是不合适的,包括:

    • 由签约邮寄者发送的邮件(这些人因违反政策而获得报酬。);
    • 从网络表单和其他此类自动化系统发送的邮件;
    • 通过邮件列表或其他转发机制转发的邮件;和
    • 只是简单的 SPF 记录配置错误(不常见,但还不够罕见)。

    我运行一个相当小的服务器,我可以推迟硬故障。这使我可以将合法故障列入白名单。如果发件人注意到邮件没有送达,他们可能会修复他们的配置。在某些情况下,我会尝试联系相关的postmaster,但许多域没有postmaster地址。

    想要执行更强大策略的用户可以使用 DMARC,这还不是标准。邮件仍有可能被递送,但可能会按照该政策的规定被隔离或拒绝。未通过策略的邮件可能会被递送到垃圾邮件文件夹,而不是正常的收件箱。

    SPF 硬故障似乎确实可以可靠地验证发送服务器的身份。不久前我做了一些研究,发现即使是 HELO 名称上的软失败也是失败或延迟传入消息的合理原因。

    许多邮件服务器没有 SPF 记录。如果邮件服务器没有 SPF 记录,我会检查父域是否有 SPF 记录。这是非标准的,但有效。我鼓励电子邮件管理员确保 PTR 记录中列出的服务器 IP 有一个 SPF 记录。您的服务器也应该通过其 PTR 记录返回的名称来标识自己。验证您是否有对应的 A 记录用于反向 DNS 验证。

    • 6

相关问题

  • 如何绕过 ISP 的限制性电子邮件政策?

  • SharePoint 传入电子邮件出现“未知别名”错误

  • 电子邮件帐户的角色名称与人名

  • 如何在笔记本电脑上使用 Tobit David?[关闭]

  • 随行人员通过 VPN 连接到 Exchange 2007

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