本文へスキップ
Emailens

SPFチェッカー:SPFレコードの確認

SPFレコードを見つけ、すべてのincludeをたどってDNSルックアップ数を上限の10回と比べ、void lookupと重複したレコードを検出し、allの限定子をDMARCポリシーと照らし合わせて読み取ります。

@emailens/engine 0.17.2 · データの最終更新:2026年10月27日

例:example.comは架空のドメインで、サンプルのSPFレコードを使っています。上の欄でご利用のドメインを確認してください。

合格example.com

SPFは~all(ソフトフェイル)で設定され、DMARCポリシーと組み合わされています。

DMARCの適用と組み合わせた場合の、クラウドやSaaSの送信者向けの標準的なおすすめ設定です。

TXT example.com

v=spf1 mx include:_spf.example.com ~all

評価

  • 合格:permerrorなし

DNSルックアップ2 / 10

include、redirect、a、mx、ptr、existsはそれぞれ1回と数え、ネストしたincludeもすべてたどります。10回を超えると、受信サーバーはpermerrorで評価を中止します。

void lookup0 / 2

SPFレコードのないドメインを指すincludeやredirectです。2回を超えると、受信サーバーはpermerrorで評価を中止します。

allの限定子

  • -allハードフェイル:記載されていないサーバーからのメールは、SPF認証に失敗します。
  • ~all現在の設定:ソフトフェイル:記載されていないサーバーは緩やかに失敗し、メッセージは拒否されるのではなく疑わしいものとして扱われます。その扱いを決めるのはDMARCです。
  • ?all中立:記載されていないサーバーについて、レコードは何も示しません。
  • +allパス:世界中のすべてのサーバーがこのドメインのSPF認証に合格するため、誰でもドメインを名乗って送信できます。
  • noneallメカニズムなし:記載されていないサーバーはどれにも一致せず、中立の結果になります。

チェッカーを使うにはパソコンの画面が必要です。

各チェックで読み取る内容

レコード
ドメインのTXTレコードを読み取り、v=spf1で始まるものを対象にします。1つもなければ失敗です。複数あればpermerrorとなり、チェックはそこで止まります。
ルックアップ
ネストしたものも含めてすべてのincludeとredirectをたどり、DNSクエリが発生する項目(include、redirect、a、mx、ptr、exists)を数えます。10回を超えるとpermerrorです。
void
参照先がSPFレコードを公開していないincludeとredirectを数えます。2回を超えるとpermerrorです。ptrの項目やincludeのループは、警告として記録します。
all
レコードの末尾を読み取ります。+allは失敗、?allまたはallなしは警告、-allは合格です。~allは、DMARCがp=quarantineまたはp=rejectの場合にのみ合格です。

SPFは3つのレコードの1つです。次はDKIMとDMARCをチェックするか、3つのレコードの関係(英語)をお読みください。

次に確認すること

すべてのメールでこのチェックを実行

無料アカウントなら、レコードを毎日再チェックし(監視ドメイン1件)、変更があればメールでお知らせします。ドメインを毎日無料で監視

SPF、DKIM、DMARCの監視(Dev)。Devは月額¥1,480(税込)です。開発者1人向けで、1日100回のチェック、APIキー、テスト用の受信トレイが含まれます。プランを見る →

よくある質問

SPFチェッカーでは何を確認しますか?

このチェッカーは、ドメインのv=spf1のTXTレコードを見つけ、2つ目のレコードを検出し、すべてのincludeをたどってDNSルックアップ数を上限の10回と比べ、何も指していないincludeを数え、末尾のallの限定子を読み取ります。~allはDMARCが適用されている場合にのみ保護になるため、DMARCポリシーも読み取ります。

SPFのDNSルックアップ10回の上限とは何ですか?

RFC 7208では、1回のSPF評価で、DNSクエリが必要な項目(include、a、mx、ptr、exists、redirect)を10回までに制限しています。ネストしたincludeもすべて数えます。ip4とip6は数えません。10回を超えると受信サーバーはpermerrorを返し、すべてのメールでSPF認証が失敗します。使わなくなったサービスのincludeを削除するか、送信者を独自のレコードを持つ専用のサブドメインに移してください。

SPFの末尾は~allと-allのどちらにすべきですか?

~all(ソフトフェイル)は記載されていないサーバーを疑わしいものとして扱い、判断をDMARCに任せます。-all(ハードフェイル)はそれらを失敗として扱います。このチェックでは、-allは合格、~allはDMARCがp=quarantineまたはp=rejectの場合に合格とします。ポリシーが適用されていなければ、ソフトフェイルでは何も止められないためです。+allは絶対に使わないでください。世界中のすべてのサーバーを認可することになります。

1つのドメインにSPFレコードを2つ設定できますか?

できません。RFC 7208では、1つのドメインにv=spf1レコードは1つだけと定めています。2つあると受信サーバーはpermerrorを返し、SPF認証は失敗します。新しいプロバイダーの設定ガイドにレコードを追加するよう書かれている場合によく起こります。includeを1つのレコードにまとめ、もう1つは削除してください。

SPFで、Fromアドレスのなりすましを防げますか?

SPFだけでは防げません。SPFが確認するのはエンベロープFrom(Return-Path)で、受信者に表示されるFromアドレスではありません。DMARCは両者を結び付けます。DMARCは、SPFまたはDKIMがヘッダーFromのドメインとアライメントが一致するドメインで合格した場合にのみ合格となり、どちらも合格しなかった場合の扱いは、DMARCのポリシーで受信サーバーに指示します。