针对每个发送域的 Postfix 主机名进行 SPF 记录

针对每个发送域的 Postfix 主机名进行 SPF 记录

我有一个可通过 访问的服务器,server.com该服务器运行一个使用主机名 的 postfix 邮件服务器gaia.server.com。由于反向 DNS 仅用于邮件目的(据我所知),我将服务器 ip 的反向 DNS 条目更改1.2.3.4gaia.server.com,这样运行起来非常正常。

我将其插入到我的域 DNS 服务器的 TXT 条目中:v=spf1 mx ip4:1.2.3.4 -all

这项纪录的创造者此工具

现在我想从[email protected]或发送电子邮件[email protected],它是指向与 相同 IP 地址的不同域的地址server.com

现在我用http://www.brandonchecketts.com/emailtest.php用于测试此配置。它给我的是 和gaia.server.comHelo Address但随后它会查找域的 SPF 记录。[email protected]From AddressFrom Addressserver.com

如果我错了,请纠正我,但我认为它会查找邮件服务器 IP,将其反转为主机名,然后检查该主机名的 SPF。或者我错了,反向检查只是垃圾邮件检查的另一个部分?

我的问题是:如何以及需要配置什么才能使 SPF 记录适用于此服务器发送的所有域。如果可能的话,我宁愿不要在每个域中都放置硬编码的 IP 地址。对于这种情况,最佳做法是什么?

提前感谢您的阅读和帮助:)

答案1

现在我用http://www.brandonchecketts.com/emailtest.php用于测试此配置。它为我提供了 gaia.server.com 作为 Helo 地址,并且[电子邮件保护]作为发件人地址。但随后它会查找发件人地址域 server.com 的 SPF 记录。

SPF 的默认规范是检查发件人域名部分。每当某个服务器向您发送带有标题信封的电子邮件时,SPF 都会获取发件人的域名(即 gmail.com)和MAIL_FROM: <[email protected]>检查 gmail.com 发布的 SPF。欲了解更多信息,请查看常见问题解答http://www.openspf.org/FAQ/What_it_does

如果我错了,请纠正我,但我认为它会查找邮件服务器 IP,将其反转为主机名,然后检查该主机名的 SPF。或者我错了,反向检查只是垃圾邮件检查的另一个部分?

您上面描述的部分过程是邮件服务器的另一种垃圾邮件测量方法。它被称为rDNS 测试整个过程如下

  1. 接收服务器确定发送者的 IP。这可以直接从连接中获取,也可以从电子邮件接收标头中提取。

  2. 通过 RDNS 查询检索此 IP 的主机名。

  3. 接下来,将主机名输入到正向 DNS 查询,从 A 记录中获取 IP。

  4. 如果发送方 IP 与正向 DNS 查询返回的 IP 匹配,则测试成功。

如需更多信息,请参阅本文反垃圾邮件反向 DNS 测试

我的问题是:如何以及需要配置什么才能使 SPF 记录适用于此服务器发送的所有域。如果可能的话,我宁愿不要在每个域中都放置硬编码的 IP 地址。对于这种情况,最佳做法是什么?

SPF 测试是针对每个域名进行的。如果您的服务器要从 a.example.com、b.example.com、c.example.com 发送电子邮件,那么每个域名都必须有自己的 SPF 记录。

答案2

SPF 记录是针对每个域的,而不是针对每个服务器的。它们本质上是专门允许代表特定域发送邮件的 IP 列表。

您的 SPF 记录server.com处理来自 的电子邮件@server.com。如果您想要将 SPF 应用于来自 的电子邮件@different-domain.com,则需要向different-domain.com的 DNS 添加 SPF 记录。

如果你想要使用 SPF 记录server.com而不different-domain.com对 IP 进行硬编码,请使用包括或者重定向different-domain.com的 TXT 记录的关键字:

different-domain.com. IN TXT "v=spf1 include=server.com -all"

或者

different-domain.com. IN TXT "v=spf1 redirect=server.com"

相关内容