Gmail

與具有郵件別名的地址進行收發時,我可以在 Gmail 中停止 SPF SOFTFAIL 嗎?

  • May 5, 2022

我有一個由 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 設置正確,但在發送電子郵件時可能會收到 SOFTFAIL 

$$ anyone $$@mydomain.com 到$$ anyone else $$@mydomain.com:

電子郵件 SOFTFAILs 時的標頭如下:

Delivered-To: brother1234@gmail.com
ARC-Authentication-Results: i=1; mx.google.com;
      spf=softfail (google.com: domain of transitioning me5678@gmail.com does not designate 2001:4b98:dc4:8::230 as permitted sender) smtp.mailfrom=me5678@gmail.com
Return-Path: <me5678@gmail.com>
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 <brother1234@gmail.com>
       (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 me5678@gmail.com 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 me5678@gmail.com does not designate 2001:4b98:dc4:8::230 as permitted sender) smtp.mailfrom=me5678@gmail.com
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 <brother1234@gmail.com>; Sun,
 1 May 2022 09:22:05 +0000 (UTC)
X-Envelope-To: mybrother@mydomain.com
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 <mybrother@mydomain.com>; Sun,
 1 May 2022 09:22:04 +0000 (UTC)
Received: by mail-lf1-f48.google.com with SMTP id w19so20836346lfu.11
       for <mybrother@mydomain.com>; 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 <mybrother@mydomain.com>
       (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
       Sun, 01 May 2022 02:22:02 -0700 (PDT)
From: Me <me@mydomain.com>
To: My Brother <mybrother@mydomain.com>
Received-SPF: pass (spool3: domain of gmail.com designates 209.85.167.48 as permitted sender) client-ip=209.85.167.48; envelope-from=me5678@gmail.com; helo=mail-lf1-f48.google.com;
Authentication-Results: spool.mail.gandi.net; dkim=none; dmarc=none; spf=pass (spool.mail.gandi.net: domain of me5678@gmail.com designates 209.85.167.48 as permitted sender) smtp.mailfrom=me5678@gmail.com

有什麼方法可以阻止從 mydomain.com 發送到 mydomain.com 上的另一個地址的電子郵件未通過 SPF?

您可以看到郵件是從 Gandi 伺服器收到的:

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

您可以在 SPF 記錄中看到 Gandi 伺服器未授權:

Received-SPF: softfail (google.com: domain of transitioning me5678@gmail.com does not designate 2001:4b98:dc4:8::230 as permitted sender)

SPF 檢查return-path標頭。不是mailfrom標題。return-pathme5678@gmail.com。_ 因此,gmail.com SPF 記錄不允許 Gandi 伺服器使用return-path帶有 gmail.com 的電子郵件地址發送電子郵件。

SPF 執行正常。您所看到的是 SPF 協議在郵件轉發方面的固有弱點。當郵件在 MTA(郵件伺服器)級別轉發時,mailfromreturn-path頭不會被重寫(也不應該被重寫),但是當轉發的郵件到達收件人的電子郵件伺服器時,它來自轉發伺服器,而不是來自發件人的原始電子郵件伺服器。因此,收件人的電子郵件伺服器檢查 SPF 並看到該return-path域未授權轉發電子郵件伺服器發送郵件。

轉發中斷 SPF。由於您無法控制gmail.com域的 SPF 記錄,因此您無法授權 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 以使用 gmail 中的從我的其他帳戶 (POP3) 導入電子郵件選項從第三方收集該電子郵件。
  4. 如果您可以控制轉發電子郵件伺服器的行為,則可以創建一個規則,當它轉發從您的電子郵件別名接收並發往您的電子郵件別名之一的電子郵件時,該規則會重寫return-path標題以匹配標題。mailfrom

引用自:https://serverfault.com/questions/1099780