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(拒否を強く推奨) | ✅ 推奨 |
受信側の挙動
-all(Fail): 認証失敗を強く示すシグナル。SPF 単体評価でも spam フォルダ行きの判定に強く影響。
~all(SoftFail): 「許可リスト外だが、拒否までは要請しない」。受信側は spam スコアに加点する程度の扱いが一般的で、配送自体は通る場合が多い。
ただし重要なのは 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 への安全な切替手順
- DMARC レポート(rua)を 2 週間観察: 認証失敗している正規送信元(マーケツール、CRM、決済通知など)を洗い出す
- すべての正規送信元を SPF に include 追加: 漏れがあれば追加(SPF 設定ガイド 参照)
- DMARC を
p=quarantineに強化: ここで挙動を 1 週間確認 - SPF を
-allに切替: 同時に DMARC をp=rejectに進める
逆順に進めない(先に -all だけ切替えると正規メールが弾かれます)。
まずは現状を把握しましょう
自社の SPF レコード末尾が ~all のままになっていないか、無料のドメイン診断で確認できます。判断に迷う場合はお問い合わせからご相談ください。
関連記事: SPF 設定ガイド / SPF include 10 個制限の対処 / DMARC ポリシーを quarantine に強化する手順