我想为多个子域创建 SPF 记录,但我不知道如何编写正确的语法。由于我正在编写一个应用程序,它尚未实时运行,所以我还无法测试它。
但我有多个子域名,例如:* api.myservice.com * booking.myservice.com * partner.myservice.com
我知道如何为单个域创建记录。v=spf1 mx ptr a:server01.hosting.com mx:api.myservice.com ip4:123.12.12.14 ~all
但现在我想在 SPF 记录中添加所有三个或更多域,那么语法是什么?或者我可以简单地添加更多 PTR 记录吗?我听说这是强烈反对的。
答案1
不添加 PTR 记录并不是验证域名所有权的好方法。
如果你想与多个域共享一个 spf 记录,你需要包括他们
@ IN TXT "v=spf1 mx ptr a:server01.hosting.com mx:api.myservice.com ip4:123.12.12.14 ~all"
api.myservice.com IN TXT "v=spf1 include:myservice.com -all"
booking.myservice.com IN TXT "v=spf1 include:myservice.com -all"
partner.myservice.com IN TXT "v=spf1 include:myservice.com -all"
如果您托管的服务可能用于其他公司,我建议为这些服务建立一个与业务分开的特殊记录
@ IN TXT "v=spf1 mx a:server01.hosting.com mx:api.myservice.com ip4:123.12.12.14 ~all"
_spf IN TXT "v=spf1 ip4:192.0.2.0/24 ip6:2001:db8::/64 -all"
api.myservice.com IN TXT "v=spf1 include:_spf.myservice.com -all"
booking.myservice.com IN TXT "v=spf1 include:_spf.myservice.com -all"
partner.myservice.com IN TXT "v=spf1 include:_spf.myservice.com -all"
另一种选择是记录a:api.myservice.com
每项服务,但由于 10 个域查找上限,这也不是一个好主意。
避免使用 PTR 记录,您知道 IP 地址,如果可以的话,请总结一下(cdir 符号)
不要超过 10 个域名查找(如果您知道 mx 的地址并管理其 A 记录,请不要使用 A/MX)