由于 SPF 失败,网站表单提交的电子邮件无法送达

由于 SPF 失败,网站表单提交的电子邮件无法送达

我需要一些有关我们网站拒绝垃圾邮件的指导。这是一个由 WPengine 托管的 Wordpress 网站。据我所知,它使用的是默认的 PHP 邮件程序。

我已为我们网站的域名配置了 SPF 记录,允许 WPengine IP 通过 include:wpengine.com 访问。这反过来又有自己的 IP 和包含,添加了 google SPF、SendGrid SPF 等等。我们的记录中还有许多其他 IP 和包含,但尽管http://www.kitterman.com/spf/validate.html,以及有关来自 MXtoolbox 的查找过多的警告,SPF 是有效的。

我们接收来自我们网站的所有表单提交(我确实添加了一些 Exchange 消息规则,以确保它们被送入收件箱而不是垃圾邮件或杂乱邮件),我们各个办公室使用不同电子邮件域的其他 Exchange 电子邮件服务器也是如此。有一个问题办公室的 Kerio 邮件服务器拒绝来自我们网站的表单提交电子邮件。
我知道这一点,因为我在我们的 Exchange 服务器上设置了一个“邮件用户”,并将外部转发到表单提交所针对的 Kerio 邮箱。表单
提交电子邮件来自:[电子邮件保护][电子邮件保护](转发给[电子邮件保护])当我对我们的 Exchange 进行消息跟踪时,我看到以下结果:

在此处输入图片描述

这个问题完全是我的问题吗?或者我可以简单地要求此 Kerio 邮件服务器的管理员为我们的电子邮件域、WPengine 网站和表单提交电子邮件主题创建一些白名单条目吗?

答案1

答案就在“查询次数过多”警告中,这应该是一个错误,告诉你你的 SPF 记录因超出10 次查找限制

4.6.4. DNS 查找限制
某些机制和修饰符(统称为“术语”)会在评估时引发 DNS 查询,而有些则不会。以下术语会引发 DNS 查询:“include”、“a”、“mx”、“ptr”和“exists”机制,以及“redirect”修饰符。SPF 实现必须在 SPF 评估期间将这些术语的总数限制为 10,以避免 DNS 负载过大。如果超出此限制,实现必须返回“permerror”。

本网站就如何解决您的问题提出了一些建议,例如,查看您的 SPF 记录以删除不必要的包含内容或重组您的电子邮件域以按来源分离电子邮件(或者根本不使用 SPF)。

例如,您可以让您的表单发送电子邮件@webform.example.com,然后设置特定于该名称的 SPF 记录:

webform.example.com.   IN TXT  "v=spf1 include:wpengine.com"

(如果您希望人们能够回复这些电子邮件,请不要忘记 MX,当然还要设置您的邮件服务器来识别这些地址)

相关内容