如何为同时使用sendmail与Amazon SES的域名配置SPF记录?
同时支持Sendmail与Amazon SES的SPF记录配置方案
问题根源
你遇到的递归错误是因为include:ourdomain会触发DNS循环解析——SPF记录本身属于ourdomain,解析时会反复调用自身的SPF记录,导致递归超限。而仅配置include:amazonses.com时,Sendmail服务器的IP不在SES的SPF授权范围内,所以SPF认证失败。
正确配置方式
不要通过include自身域名的方式授权Sendmail,而是直接指定Sendmail服务器的公网IP/IP段:
单Sendmail服务器场景
如果只有一台Sendmail服务器,使用ip4机制添加其公网IP:
"v=spf1 ip4:xxx.xxx.xxx.xxx include:amazonses.com ~all"
将xxx.xxx.xxx.xxx替换为你的Sendmail服务器实际公网IP。
多Sendmail服务器/IP段场景
有多台服务器或整个IP段需要授权时,用逗号分隔多个ip4项:
"v=spf1 ip4:xxx.xxx.xxx.xxx ip4:yyy.yyy.yyy.0/24 include:amazonses.com ~all"
yyy.yyy.yyy.0/24为示例IP段,按需替换为你的实际网段。
备选:使用A记录授权(不推荐)
若Sendmail服务器的IP正好是域名的A记录指向的IP,也可以用a机制,但这种方式会授权所有A记录指向的IP,若包含非邮件发送IP会增加滥用风险:
"v=spf1 a include:amazonses.com ~all"
配置验证
- 执行
dig yourdomain.com TXT命令,确认SPF记录已正确生效 - 发送测试邮件至Gmail等邮箱,查看邮件头中的
SPF字段,确认认证结果为pass
内容的提问来源于stack exchange,提问作者user1130176
相关产品推荐
相关产品推荐

