SPF:评估期间正在查看哪个IP?

假设我有:

  • 公网IP地址A:发送主机
  • 公共IP地址B:A的邮件中继
  • 公共IP地址C:接收方MX

C看什么IP?

他是否尝试在“收到”标题中查找A的IP(例如,通过尝试查找第一个非私有IP)? 或者他使用从B中build立的连接的源IP地址?

我看到,例如谷歌邮箱似乎做后者。 虽然看起来像我们当地的供应商似乎做前者。

https://tools.ietf.org/html/rfc7208对于这个基本点并没有真正的启发我。 我确实find了这个间接的短语

由于SPF评估是基于“最后”发送SMTP服务器的IP地址

在10.3节。 但我想在某个地方需要有一个更清晰的定义。

Received: from headers是不可靠的,除非被你控制的服务器放在那里,所以检查它们是没有意义的。 即使他们可靠的,许多来自于发件人基础设施内部的电子邮件内部动作,SPF也没有什么可说的,所以对它们进行审查是不恰当的。

事实上,您引用的这句话是确切无误的:当您的服务器对入站电子邮件执行符合RFC的SPF检查时,所关心的是试图提交电子邮件的服务器的地址。 或者,根据RFC的第4.1节,您指出:

check_host()函数使用这些参数:

– 发送邮件的SMTP客户端的IP地址(IPv4或IPv6)

如果该地址来自适当logging允许的范围,则该电子邮件应该通过; 如果不是的话,它的命运就应该落在alllogging上,应该相应处理。

一些提供商当然可能会更深入地检查中继地址链,但(a)不是SPF RFC的一部分,(b)完全是他们自己的业务。