![Gmail 会阻止转发的邮件](https://linux22.com/image/783171/Gmail%20%E4%BC%9A%E9%98%BB%E6%AD%A2%E8%BD%AC%E5%8F%91%E7%9A%84%E9%82%AE%E4%BB%B6.png)
我的网站会向用户发送邮件。多年来,这一直运行良好。但大约一年前开始,gmail 会在以下情况下屏蔽邮件:用户有电子邮件[电子邮件保护]。该邮件会自动转发到gmail地址,因此可能没有安装邮箱,而只是自动转发。
在这种情况下,gmail 将阻止该电子邮件并显示以下错误:
host gmail-smtp-in.l.google.com [xx.xx.xx.xx]
SMTP error from remote mail server after end of data:
550-5.7.26 This message does not pass authentication checks (SPF and DKIM both
550-5.7.26 do not pass). SPF check for [xyz.com] does not pass with
550-5.7.26 ip: [xx.xx.xx.xx].To best protect our users from spam, the message
550-5.7.26 has been blocked
如果将相同的邮件直接发送到 gmail 地址,一切都会按预期进行。
我已经设置了这样的 SPF 记录:
v=spf1 mx ip4:ip.of.web.site ~all
RDNS设置正确。
编辑:进一步阅读有关此问题的信息后,一位用户建议添加 include:_spf.google.com 以使 SPF 记录看起来像这样:
v=spf1 mx ip4:ip.of.web.site include:_spf.google.com ~all
虽然我看不出这对我的情况有什么帮助,但失败的检查次数似乎已大幅下降。当然,我不认为这是一个合适的解决方案,最多算是一种黑客行为。
不过,我仍会尝试设置 DKIM。
答案1
转发的邮件始终无法通过 SPF 检查,因为 Gmail 不会将其视为来自你的服务器——它认为它们是从货运代理服务器,当然它不在您的域的 SPF 允许列表中。(您无法在 SPF 记录中列出所有可能的转发器,而且这样做也没有任何意义。)
(此时,您的服务器的 rDNS 设置无关紧要,因为与 Gmail 通信的不是您的服务器。)
为了避免这个问题你需要设置DKIM 签名为您的邮件添加 DMARC 策略 DNS 记录,并为您的域添加 DMARC 策略 DNS 记录。根据 DMARC 规则,SPF或者DKIM 检查必须通过 – 只要其他服务器转发的邮件的原始 DKIM 签名(由您的服务器制作)保持完整,Gmail 就会接受您的邮件。
也可以看看: