BLOG ベアメールブログ
最終更新日:2026.03.18
SPF(Sender Policy Framework)は、メールの送信元が詐称されていないかを検証する仕組みです。そのドメインを送信元としてメールを送ってもよいサーバーのIPアドレスをあらかじめDNSに公開しておくことで、受信側は送信元サーバーの正当性を確認できます。
送信ドメイン認証の中でも基本となる技術であり、特に新しいメール配信サービスを追加するときやDMARC運用を開始する際には、SPFが正しく機能しているかを確認することが重要です。設定に不備があると、メールが迷惑メールとして扱われたり、受信を拒否されたりするリスクが高まります。
本記事では、SPFの設定内容や認証結果を確認する具体的な方法と、認証に失敗する主な原因について分かりやすく解説します。
目次
SPFの設定を確認する方法
SPFが正しく設定されているかは、DNSに公開されているSPFレコードを参照することで確認できます。具体的には、オンラインツールを利用する方法と、コマンドラインで直接DNSを参照する方法があります。
オンラインツールでの確認方法
オンラインツールを利用することで、DNSに公開されているSPFレコードを簡単に確認できます。代表的なツールとしては、次のものがあります。
- MxToolBox「SPF Record Check」(https://mxtoolbox.com/spf.aspx)
- Kitterman「SPF Record Testing Tools」(https://www.kitterman.com/spf/validate.html)
ドメイン名など必要な項目を入力すると、以下を確認できます。
- SPFレコードが存在するか
- 構文ミスがないか
- DNSルックアップ回数の制限を超えていないか
SPFのDNSルックアップ回数制限については、以下の記事で詳しく解説しています。
SPFのDNSルックアップの回数制限とは? 確認方法や対策を解説|ベアメールブログ
コマンドラインでの確認方法
DNSを直接参照することで、SPFレコードを確認することも可能です。SPFレコードはDNSのTXTレコードとして登録されており、「v=spf1」から始まる文字列で記述されています。
Mac・Linuxの場合
ターミナルを起動し、以下のコマンドを実行します。
dig TXT example.com
「example.com」には確認したいドメインを入力してください。
実行結果の中に、以下の例のような「v=spf1」から始まる文字列が表示されれば、SPFレコードが登録されています。
v=spf1 ip4:203.0.113.1 include:_spf.example.com -all
Windowsの場合
コマンドプロンプトを起動し、以下のコマンドを実行します。
nslookup -type=TXT example.com
同様に「v=spf1」から始まる文字列が表示されれば、SPFレコードが登録されています。
メールヘッダでSPFの認証結果を確認する方法
次に、受信したメールからSPFの認証結果を確認する方法を解説します。
メールヘッダでの確認方法
受信したメールのヘッダ情報を確認することで、SPFの認証結果を確認できます。メールヘッダ内の「Authentication-Results」の項目に、認証結果が記載されています。SPF認証に失敗している場合は、原因を特定する重要な手掛かりになります。
主な認証結果は、以下の通りです。
認証結果 意味 考えられる要因 Pass 認証に合格した – None SPFレコードが存在しない ドメインにSPFレコードが設定されていない Hardfail 認証に失敗した 送信元IPアドレスがSPFレコードで許可されていない Softfail 認証に失敗したが、強制拒否ではない SPFレコードに「~all」が設定されており、送信元IPが許可リストに含まれていない Neutral 認証結果を明確に判定できない SPFレコードが「?all」になっているなど、送信元IPに対して明確なポリシーが定義されていない Temperror SPF認証において一時的なエラーが発生した 一時的なDNS障害など Permerror SPF認証において永続的なエラーが発生した SPFレコードの構文エラーや設定不備、SPFのルックアップ回数制限オーバー
Gmailの場合
- メールを開き、返信ボタンの横にある三点リーダーをクリックします
- 「メッセージのソースを表示」を選択します
- 「Authentication-Results」の項目でSPFの認証結果を確認します
「spf=pass」と表示されていれば、検証は成功しています。
参考:Gmailヘルプ「詳細ヘッダーからメールの経路を確認する」https://support.google.com/mail/answer/29436?hl=ja(2026/3/3確認)
Yahoo!メールの場合
- メールを開き、画面上部の「その他」メニューをクリックします
- 「メールのソースを表示」を選択します
- 「Authentication-Results」の項目でSPFの認証結果を確認します
参考:Yahoo!メールヘルプ「メールの送信者情報の詳細(詳細ヘッダー)やメール全体のソースを表示する」https://support.yahoo-net.jp/PccMail/s/article/H000007254(2026/3/3確認)
Outlook(Outlook on the Web)の場合
- メールを開き、画面右上の三点リーダーをクリックします
- 「表示」→「メッセージの詳細を表示」を選択します
- 「Authentication-Results」の項目でSPFの認証結果を確認します
参考:Microsoftサポート「Outlookでインターネット メッセージ ヘッダーを表示する」https://support.microsoft.com/ja-jp/office/outlook-%E3%81%A7%E3%82%A4%E3%83%B3%E3%82%BF%E3%83%BC%E3%83%8D%E3%83%83%E3%83%88-%E3%83%A1%E3%83%83%E3%82%BB%E3%83%BC%E3%82%B8-%E3%83%98%E3%83%83%E3%83%80%E3%83%BC%E3%82%92%E8%A1%A8%E7%A4%BA%E3%81%99%E3%82%8B-cd039382-dc6e-4264-ac74-c048563d212c(2026/3/3確認)
SPF認証に失敗する主な原因と対処法
SPF認証に失敗している場合は、原因を特定して適切に対処する必要があります。認証エラーが発生すると、受信側で迷惑メールと判定されたり、拒否されたりする可能性があります。
本章では、SPF認証に失敗する主な原因を簡単に紹介します。詳しい原因や対処方法については、以下の記事で解説しています。
SPF failの原因と解決法|認証失敗の仕組みとケース別対策|ベアメールブログ
SPFレコードが存在しない(None)
送信元ドメインにSPFレコードが設定されていない場合、受信サーバーはSPF認証を実行できず、認証に失敗してしまいます。
この場合は、利用しているメールサーバーや配信サービスのSPFレコードを、対象ドメインのDNSに追加することで解決できます。
SPFレコードの構文ミス(PermError)
SPFレコードは決められた書式に従って記述する必要があり、構文に誤りがあると認証エラーとなります。
レコードを記述する際には、オンラインツールなどを利用して、正しい構文になっているか確認することが重要です。
SPFレコードの書き方については、以下の記事で詳しく解説しています。
SPFレコードとは? 書き方・設定手順・確認方法まで完全ガイド|ベアメールブログ
IPアドレスがSPFレコードに設定されていない(Hardfail/Softfail/Neutral)
メール送信に使用するサーバーのIPアドレスがSPFレコードに登録されていないと、認証に失敗します。
この場合は、該当のIPアドレスやドメインをSPFレコードに追加することで解決できます。特に新規サービス導入やサーバー移行のタイミングで更新漏れが起きやすいため、正しく設定できているか必ず確認するようにしましょう。
DNSルックアップ回数の上限を超えている(PermError)
a、mx、includeといったメカニズムを使用すると、そのたびにDNSのルックアップが発生します。SPFレコードでは、DNSの参照回数は最大10回までと定められており、制限を超えると認証に失敗します。
DNS参照回数の制限超過を解消する方法としては、以下があります。
- 不要なSPFレコード(利用していないサービスなど)を削除する
- 利用するサービスごとにサブドメインを分け、それぞれSPFレコードを登録する
- SPFフラット化を行う
DNS参照回数の制限については、以下の記事で詳しく解説しています。
SPFのDNSルックアップの回数制限とは? 確認方法や対策を解説|ベアメールブログ
SPFフラット化については、以下の記事を参照してください。
SPFフラット化とは? DNS参照回数の上限超過を回避する方法とリスク・代替策を解説|ベアメールブログ
転送によりIPアドレスが変更されている(Hardfail/Softfail/Neutral)
転送によって、送信元IPアドレスが送信サーバーのIPから転送サーバーのIPに変更された場合も、認証に失敗しやすくなります。
DKIMやDMARCと併用することで、SPFの認証に失敗した場合でも送信元の信頼性を維持し、迷惑メール判定や受信拒否を防ぐ効果が期待できます。
DKIM・DMARCの設定方法については、以下の記事で詳しく解説しています。
DKIMレコードの書き方は? 設定・確認方法や失敗例も解説|ベアメールブログ
DMARCレコードの書き方は? 設定・確認方法や失敗例も解説|ベアメールブログ
SPF認証結果や迷惑メール判定リスクをまとめて確認するには
ベアメールの「迷惑メールスコアリング」では、テストメールを送信するだけで、SPFをはじめDKIM・DMARCの認証結果を確認できます。
さらに、送信元IPアドレスの評価、ブラックリストの登録状況、メール本文の内容、キャリアごとの到達度なども総合的に分析し、迷惑メールと判定されるリスクを可視化することが可能です。
メールの認証状況や配信環境の状態をひと目で確認できるため、認証エラーの原因特定や改善ポイントの把握に役立ちます。
また、オプションの「SPFホスティング」機能では、SPFレコードを自動でフラット化することでDNSルックアップ回数の上限超過を回避し、SPFがエラーになるリスクを軽減できます。
「SPF認証がエラーになる原因を知りたい」「メールの配信状況を確認したい」といった場合は、ぜひお気軽にご相談ください。
まとめ
本記事では、SPFの設定内容や認証結果を確認する具体的な方法と、認証に失敗する主な原因について解説しました。SPFは送信元の正当性を検証する仕組みであり、正しく設定・運用することでメールの信頼性や到達率の向上につながります。
SPFを安定して運用するために、認証状況を把握し、問題が発生していないかを定期的に確認するようにしましょう。