当我向具有邮件别名的地址发送邮件时,我可以停止 Gmail 中的 SPF SOFTFAIL 吗?

当我向具有邮件别名的地址发送邮件时,我可以停止 Gmail 中的 SPF SOFTFAIL 吗?

我有一个由 Gandi 托管的虚荣域名 (mydomain.com),并为我的家人配置了邮件别名,指向我们各自的 Gmail 地址:

等等。

Gmail 配置为以虚荣地址发送电子邮件,并且我还设置了 SPF 记录:

v=spf1 include:_spf.google.com include:_spf.gpaas.net include:_mailcust.gandi.net ?all

尽管 mail-tester.com 报告 SPF 设置正确,但从 [anyone]@mydomain.com 向 [anyone else]@mydomain.com 发送电子邮件时可能会出现 SOFTFAIL:

电子邮件 SOFTFAIL 时的标题如下:

Delivered-To: [email protected]
ARC-Authentication-Results: i=1; mx.google.com;
       spf=softfail (google.com: domain of transitioning [email protected] does not designate 2001:4b98:dc4:8::230 as permitted sender) [email protected]
Return-Path: <[email protected]>
Received: from relay10.mail.gandi.net (relay10.mail.gandi.net. [2001:4b98:dc4:8::230])
        by mx.google.com with ESMTPS id w4-20020a05600018c400b0020ac7a84cb7si9021160wrq.441.2022.05.01.02.22.05
        for <[email protected]>
        (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256);
        Sun, 01 May 2022 02:22:06 -0700 (PDT)
Received-SPF: softfail (google.com: domain of transitioning [email protected] does not designate 2001:4b98:dc4:8::230 as permitted sender) client-ip=2001:4b98:dc4:8::230;
Authentication-Results: mx.google.com;
       spf=softfail (google.com: domain of transitioning [email protected] does not designate 2001:4b98:dc4:8::230 as permitted sender) [email protected]
Received: from spool.mail.gandi.net (spool3.mail.gandi.net [217.70.178.212]) by relay.mail.gandi.net (Postfix) with ESMTPS id 51151240003 for <[email protected]>; Sun,
  1 May 2022 09:22:05 +0000 (UTC)
X-Envelope-To: [email protected]
Received: from mail-lf1-f48.google.com (mail-lf1-f48.google.com [209.85.167.48]) by spool.mail.gandi.net (Postfix) with ESMTPS id 49A2CAC0C45 for <[email protected]>; Sun,
  1 May 2022 09:22:04 +0000 (UTC)
Received: by mail-lf1-f48.google.com with SMTP id w19so20836346lfu.11
        for <[email protected]>; Sun, 01 May 2022 02:22:04 -0700 (PDT)
Received: from smtpclient.apple (cpc1-sotn14-2-0-cust79.15-1.cable.virginm.net. [81.96.148.80])
        by smtp.gmail.com with ESMTPSA id r7-20020a2e8e27000000b0024f3d1dae9asm761964ljk.34.2022.05.01.02.22.02
        for <[email protected]>
        (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
        Sun, 01 May 2022 02:22:02 -0700 (PDT)
From: Me <[email protected]>
To: My Brother <[email protected]>
Received-SPF: pass (spool3: domain of gmail.com designates 209.85.167.48 as permitted sender) client-ip=209.85.167.48; [email protected]; helo=mail-lf1-f48.google.com;
Authentication-Results: spool.mail.gandi.net; dkim=none; dmarc=none; spf=pass (spool.mail.gandi.net: domain of [email protected] designates 209.85.167.48 as permitted sender) [email protected]

有什么方法可以阻止从 mydomain.com 发送到 mydomain.com 的另一个地址的电子邮件发生 SPF 失败?

答案1

您可以看到该邮件是从 Gandi 服务器收到的:

Received: from relay10.mail.gandi.net (relay10.mail.gandi.net. [2001:4b98:dc4:8::230])

您可以看到 Gandi 服务器未在 SPF 记录中获得授权:

Received-SPF: softfail (google.com: domain of transitioning [email protected] does not designate 2001:4b98:dc4:8::230 as permitted sender)

SPF 检查return-path标头。不是mailfrom标头。return-path[email protected]。因此,gmail.com SPF 记录不允许 Gandi 服务器使用return-path带有 gmail.com 电子邮件地址的 发送电子邮件。

SPF 运行正常。您看到的是 SPF 协议在邮件转发方面存在固有缺陷。当邮件在 MTA(邮件服务器)级别转发时,mailfromreturn-path标头不会被重写(也不应该重写),但当转发的邮件到达收件人的电子邮件服务器时,它来自转发服务器,而不是来自发件人的原始电子邮件服务器。因此,收件人的电子邮件服务器会检查 SPF,并发现域return-path未授权转发电子邮件服务器发送邮件。

转发会破坏 SPF。由于您无法控制域的 SPF 记录gmail.com,因此您无法授权 Gandi 服务器代表 Gmail 转发邮件。这就是为什么不能单独使用 SPF 来确定邮件是否被授权的原因。

您有四种解决方案(我认为选项 1 和 2 需要付费的 Google 工作区帐户):

  1. 确保当您使用别名电子邮件地址从 gmail 发送电子邮件时,它也会在标题中使用电子邮件别名return-path。还要将 gmail 服务器添加到 的 SPF 记录中mydomain.com。有关使用 gmail 以别名发送电子邮件的更多信息,请参见此处:https://support.google.com/mail/answer/22370?hl=en
  2. 配置您的 MX 记录和 gmail,以便发往您的别名的电子邮件直接发送到 gmail 的服务器并进入您的收件箱,而不是通过第三方转发。
  3. 在第三方接收发往您的别名电子邮件地址的电子邮件,而不是转发邮件。然后配置 Gmail 以使用从我的其他帐户 (POP3) 导入电子邮件Gmail 中的选项。
  4. 如果您可以控制转发电子邮件服务器的行为,则可以创建一个规则,在转发从您的某个电子邮件别名接收并发往该别名的电子邮件时,重写return-path标头以匹配标头。mailfrom

答案2

可能可能是由于 Gmail 中报告的错误

https://support.google.com/mail/thread/159271685/personal-gmail-send-mail-as-sends-over-google-ip-and-soft-fails-on-the-receiver-spf-check?hl=en

尽管有些发帖者报告说问题成功了,但我认为问题尚未解决。

答案3

问题在于,SPF 本身并不足以阻止未通过身份验证的电子邮件。即使是硬性验证也无济于事。

这促使了 DMARC 的发展。通过它,您可以指示接收服务器(包括从内部发送到内部的服务器)拒绝未通过身份验证的电子邮件。

您可以在此处了解有关硬故障与软故障的更多信息以及为什么 DMARC 是答案:https://knowledge.ondmarc.redsift.com/en/articles/1148885-spf-hard-fail-vs-spf-soft-fail

相关内容