我可以捆绑 SPF 记录以便我的客户只需要添加一个吗?

Can i bundle SPF-Records so that my clients only need to add one?

我的问题需要先解释一下:

我为几个客户提供电子邮件服务。根据电子邮件的类型(预订、报价等),我从不同的服务器发送这些邮件。因此,我一直将多个 ip 地址作为 SPF 记录包含到客户端域中。 记录看起来像这样:

v=spf1 ip4:xxx.xx.xxx.xx ip4:xxx.xx.xxx.xx ip4:xxx.xx.xxx.xx -all

所有这些ips都是为我服务的。

现在,在检查客户的 SPF 记录时,我发现 Outlook 仅包含一个用于其 Outlook 365 的子域,如下所示:

v=spf1 include:spf.protection.outlook.com -all

当我检查 "spf.protection.outlook.com" 的 SPF 记录时,它向我显示了这些:

v=spf1 ip4:207.46.101.128/26 ip4:207.46.100.0/24 ip4:207.46.163.0/24 ip4:65.55.169.0/24 ip4:157.56.110.0/23 ip4:157.55.234.0/24 ip4:213.199.154.0/24 ip4:213.199.180.0/24 include:spfa.protection.outlook.com -all

(就像你在这里看到的:https://mxtoolbox.com/SuperTool.aspx?action=spf%3aspf.protection.outlook.com&run=toolpage

所以我现在的问题是:

我是否也可以创建一个子域,将其添加到我的客户 SPF 记录中,然后通过简单地更改我的子域的 SPF 记录来集中管理所有子域? 如是?创建该子域时我需要考虑什么吗?

如果您为 SPF 子域创建一个 SPF 记录,然后将该子域包含在所有客户的 SPF 记录中,那么如果其中一台服务器更改了地址,您只需编辑公共 SPF 记录。例如:

spf.example.com 的 TXT 记录:

v=spf1 ip4:xxx.xx.xxx.xx ip4:xxx.xx.xxx.xx ip4:xxx.xx.xxx.xx -all

其中一个客户域的 TXT 记录:

v=spf1 include:spf.example.com -all

那么您只需要更新 spf.example.com 记录即可。