SPF の DNS Lookup 10 回制限にハマった時の対処
最終更新: 2026-04-24 · 所要 6 分
結論
- SPF レコードの include / a / mx の合計 DNS Lookup が 10 回を超えると PermError
- 原因は第三者サービス(SES / SendGrid / Mailchimp / Salesforce 等)の include 重複
- 対処は①include 整理 ②SPF Flattening ③メール用サブドメイン分離
どういう場面で必要か
SPF レコードに色々 include した結果、実際の到達率が急落 / DMARC RUA に PermError が多発している時。
実務で見るポイント
- /tools/spf-lookup-count-check で現在の Lookup 数を確認
- 各 include が実際に使われているかを最新 2 週間の送信ログで確認
- 使われていない include は削除
- 使っている include は、サブドメイン分離(例: mail.yours.com)で分割
- SPF Flattening(mail.yours.com の IP を直書き)は最終手段、変更追随が必要
よくある失敗
- SPF Flattening 後に元 include 側の IP 変更で到達率が急落
- 複数プロバイダを並列 include で回避 → Flattening 対象が増えて運用負担増
- ?all や +all に逃げる → DMARC 失敗 + なりすまし許容
- Recursive な include(include 内にさらに include)を見落とす
チェックリスト
- [ ] /tools/spf-lookup-count-check で 10 未満
- [ ] /tools/mail-deliverability で SPF pass
- [ ] 2 週間の RUA に PermError なし
- [ ] 使わない include を削除
よくある質問
SPF Flattening のツールは?
dmarcian / EasyDMARC / ValiMail で提供。ただし IP 変更を自動追随する仕組みを必ず備えること。
サブドメイン分離の例は?
marketing.yours.com, transactional.yours.com, no-reply.yours.com など用途別に分け、それぞれ独立 SPF レコードを持つ。
クラウドの IP レンジを直書きするリスクは?
IP レンジ更新時に SPF が壊れます。Flattening サービスが自動更新する仕組みが必須。
SPF を使わず DKIM + DMARC だけでは?
DKIM 署名が通ればそれで DMARC は合格できます。ただし SPF の有無で受信側スコアが変わるので、推奨は両方設定。