SPFメール認証

SPF Fail と SoftFail の違い・対処早見表

ドメイン番人2 分で読めます
目次

この記事でわかること

  • -all(Fail)と ~all(SoftFail)が受信側に対してどう違うか
  • Gmail / Outlook での実質的な扱いの差
  • DMARC を併用すると ~all でも実質 -all 相当になる仕組み
  • 安全に ~all-all へ切り替える手順

SPF 末尾修飾子の意味

SPF レコードの末尾には必ず ?all ~all -all +all のいずれかが付きます。これは「許可リストに無い IP から送られたメールをどう扱うか」を示すヒントです。

修飾子 意味 推奨度
+all 全許可 ❌ 絶対 NG
?all Neutral(判定保留) ❌ 意味薄い
~all SoftFail(疑わしいが受信側判断) ⚠️ 過渡期
-all Fail(拒否を強く推奨) ✅ 推奨

SPF 末尾修飾子の強度

受信側の挙動

-all(Fail): 認証失敗を強く示すシグナル。SPF 単体評価でも spam フォルダ行きの判定に強く影響。

~all(SoftFail): 「許可リスト外だが、拒否までは要請しない」。受信側は spam スコアに加点する程度の扱いが一般的で、配送自体は通る場合が多い。

ただし重要なのは DMARC を併用している場合の挙動:

DMARC 併用での実質強度

DMARC は ~all-all も「SPF アラインメント fail」として同等に扱います。つまり DMARC p=reject が効いている場合、~all でも実質 -all 相当になります。逆に DMARC が p=none なら ~all は実質ほぼ意味なし。

どちらを使うべきか

  • DMARC p=reject が運用中: ~all でも -all でも実質同じ。ただし将来の DMARC ポリシー後退や、SPF 単独評価を行う一部古いメールサーバへの配慮として -all 推奨
  • DMARC p=none / 未設定: ~all は実質的にほぼ機能しない。-all に設定する必要がある
  • DMARC 段階強化中: SPF も ~all-all に同時に進めるのが整合的

~all-all への安全な切替手順

  1. DMARC レポート(rua)を 2 週間観察: 認証失敗している正規送信元(マーケツール、CRM、決済通知など)を洗い出す
  2. すべての正規送信元を SPF に include 追加: 漏れがあれば追加(SPF 設定ガイド 参照)
  3. DMARC を p=quarantine に強化: ここで挙動を 1 週間確認
  4. SPF を -all に切替: 同時に DMARC を p=reject に進める

逆順に進めない(先に -all だけ切替えると正規メールが弾かれます)。

まずは現状を把握しましょう

自社の SPF レコード末尾が ~all のままになっていないか、無料のドメイン診断で確認できます。判断に迷う場合はお問い合わせからご相談ください。

関連記事: SPF 設定ガイド / SPF include 10 個制限の対処 / DMARC ポリシーを quarantine に強化する手順

次の一歩は無料診断から。