我有一个可以通过它访问的服务器server.com
,它有一个使用主机名运行的后缀邮件服务器gaia.server.com
。因为反向 DNS 仅用于邮件目的(afaik),所以我将服务器 ip 的反向 DNS 条目更改1.2.3.4
为gaia.server.com
,它工作得很好。
我将此插入到我的域 DNS 服务器的 TXT 条目中:v=spf1 mx ip4:1.2.3.4 -all
这条记录是由这个工具创建的。
现在我想从[email protected]
or发送电子邮件[email protected]
,这是一个不同域的地址,指向与 相同的 ip 地址server.com
。
现在我使用http://www.brandonchecketts.com/emailtest.php来测试这个配置。它给了我gaia.server.com
作为Helo Address
和[email protected]
作为From Address
。但随后它会查找From Address
域的 SPF 记录server.com
。
如果我错了,请纠正我,但我认为它会查找邮件服务器 ip,将其反转为主机名,然后检查该主机名的 SPF。还是我错了,反向检查只是垃圾邮件检查的另一部分?
我的问题是:我需要如何配置以及如何配置才能使 SPF 记录适用于此服务器发送的所有域。如果可能的话,我不希望在每个域中都放置一个硬编码的 IP 地址。这种情况下的最佳做法是什么?
感谢您提前阅读和帮助:)
SPF 记录是每个域的,而不是每个服务器的。它们本质上是一个 IP 列表,专门允许代表特定域发送邮件。
您的 SPF 记录
server.com
处理来自地址为 的电子邮件@server.com
。如果要将 SPF 应用于地址为 的电子邮件@different-domain.com
,则需要将 SPF 记录添加到different-domain.com
的 DNS。如果您想
server.com
在different-domain.com
不对 IP 进行硬编码的情况下使用 SPF 记录,请对的 TXT 记录使用include或redirect关键字:different-domain.com
或者
SPF 的默认规范是检查发件人域部分。每当某些服务器向您发送带有标头信封的电子邮件时
MAIL_FROM: <[email protected]>
,SPF 将获取发件人的域(即 gmail.com)并检查 gmail.com 发布的 SPF。有关更多信息,请查看来自http://www.openspf.org/FAQ/What_it_does的常见问题解答您上面描述的部分过程是来自邮件服务器的另一个垃圾邮件测量。它被称为rDNS 测试。整个过程如下
接收服务器确定发送者的IP。这可以直接从连接中获得,也可以从电子邮件 Received 标头中提取。
通过 RDNS 查询,检索该 IP 的主机名。
接下来,主机名被馈送到前向 DNS 查询,从 A 记录中获取 IP。
如果发件人 IP 与转发 DNS 查询返回的 IP 匹配,则测试成功。
有关更多信息,请查看这篇文章Anti-Spam Reverse DNS Testing。
SPF 测试是按域进行的。如果您的服务器想要从 a.example.com、b.example.com、c.example.com 发送电子邮件,那么它们的每个域都必须有自己的 SPF 记录。