設定したのに効かない理由 — 10 回制限
SPF の include・a・mx はそれぞれ DNS 参照を発生させます。その合計が 10 回を超えると、仕様上そのレコードは恒久エラー扱いとなり、事実上無視されます。メールサービスをいくつか追加すると簡単に超えるうえ、レコード自体は正しく見えるため気づきにくいのが厄介です。この検査では参照回数を数えます。
末尾の書き方が重要
~all は「一覧にないものは疑わしい」、-all は「一覧にないものは拒否」を意味します。+all で終わると誰でも通過するため、SPF がある意味を失います。メールをまったく送らないドメインなら v=spf1 -all の 1 行が最も安全です。
SPF だけでは足りない
SPF が検査するのは封筒の送信元であり、読み手に見える差出人欄ではありません。その隙間を埋めるのが DMARC なので、両方をそろえて設定します。