在SPFlogging中expression同一信息的不同方式有什么区别?

我在example.com有一个域名。 MXlogging是10 cp.example.net 。 这些域位于两个不同的IP地址上。 假设example.com位于198.51.100.0,而example.netcp.example.net位于203.0.113.0。 发送邮件也从cp.example.net

在我看来,我可以用几种不同的方式在SPFlogging中指出这些信息:

传出邮件来自与传入邮件相同的地方:

 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 

这些表示相同信息的不同方式有什么区别吗? 有没有什么理由比较喜欢一个呢? (我倾向于喜欢第一个,因为它更短,但如果有任何技术上的理由去select其他的,我就会全神贯注。)

接收机的另一个主要区别是:

  • 第一个需要两个额外的DNS查询供他/她评估(一个将MXloggingparsing为主机名,另一个将该主机名parsing为一个或多个地址);
  • 第二个需要一个额外的查找(将主机名parsing为一个或多个地址);
  • 第三个不需要额外的查询,并且可以由接收方评估。

这些表示方式在不改变SPF的情况下可以更改:

  • 如果只selectmx,则可以在不修改SPF的情况下更改IP或MX指针。
  • 如果是:cp.example.net,你的spf将被绑定到cp.example.net名字。
  • 而使用ip4:203.0.113.0,您将能够更改MX,但不能修改SPF而不是IP。

MX是相当不错的,如果你的邮件服务器是唯一一个发送邮件的。 并添加A或IPlogging,如果您需要其他主机发送它们。