我有一个域名example.com
,地址是 。MX 记录是10 cp.example.net
。这两个域名位于两个不同的 IP 地址上。假设example.com
位于 198.51.100.0,而example.net
和cp.example.net
位于 203.0.113.0。外发邮件也来自cp.example.net
。
在我看来,我可以用几种不同的方式在 SPF 记录中指示此信息:
发出的邮件与收到的邮件来自同一个地方:
v=spf1 mx -all
外发邮件来自cp.example.net
:
v=spf1 a:cp.example.net -all
外发邮件来自 203.0.113.0:
v=spf1 ip4:203.0.113.0 -all
这些表示相同信息的不同方式之间有什么区别吗?有什么理由选择其中一种而不是另一种?(我倾向于支持第一种,因为它更短,但如果有任何技术原因选择其他一种,我愿意倾听。)
答案1
另一个主要区别在于接收器:
- 第一种情况需要他/她进行两次额外的 DNS 查找来评估(一次将 MX 记录解析为主机名,另一次将该主机名解析为一个或多个地址);
- 第二个需要一次额外的查找(将主机名解析为一个或多个地址);
- 第三个不需要额外的查找,并且接收器可以直接评估。
答案2
这些表示的不同之处在于您可以在不修改 SPF 的情况下进行更改:
- 如果您只选择 mx,您将能够更改 IP 或 MX 指针而无需修改 SPF。
- 如果是 a:cp.example.net,则您的 spf 将绑定到 cp.example.net 名称。
- 使用 ip4:203.0.113.0 您将能够更改 MX,但不能更改 IP(如果不修改 SPF)。
如果您的邮件服务器是唯一发送电子邮件的服务器,则 MX 非常好。如果您需要其他主机发送邮件,则添加 A 或 IP 记录。