SPF 里 include 太多超过 10 次查询 订单邮件进垃圾箱
现象#
客户反馈订单确认进了垃圾箱,查看邮件头是 spf=permerror;MXToolbox 的 SPF 检查直接提示 Too many DNS lookups。
原因#
- RFC 7208 规定 SPF 求值最多 10 次 DNS 查询,超出后整条记录判为 permerror。
- 每个 include 都会递归展开,被引用域里的 include 与 a、mx 机制同样计数。
- 接入 Shopify 后又叠加客服系统、EDM 与 CRM 的 include,很快超限。
- 存在多条 v=spf1 记录时,校验器直接返回 none 或 permerror。
处理步骤#
- 执行
dig TXT example.com,确认只有一条 SPF。 - 用展平工具统计
include展开次数,找出最大来源。 - 把能合并的服务商合并,或让其中一个工具改用独立子域发信。
- 对固定出口 IP 的服务商直接用
ip4:机制替代 include,减少查询。 - 保存后等 TTL 过期,再发一封测试邮件对照头部结果。
验收标准#
邮件头显示 spf=pass,展平工具统计的 lookup 次数不超过 10。
本文由 风格技术 技术团队整理,适用于 Shopify 标准版与 Plus 店铺。Shopify 平台能力迭代较快,具体操作路径与字段以官方文档和店铺后台实际版本为准。