SPF(Sender Policy Framework)は、メールの送信元が詐称されていないかを検証する仕組みです。そのドメインを送信元としてメールを送ってもよいサーバーのIPアドレスをあらかじめDNSに公開しておくことで、受信側は送信元サーバーの正当性を確認できます。
送信ドメイン認証の中でも基本となる技術であり、特に新しいメール配信サービスを追加するときやDMARC運用を開始する際には、SPFが正しく機能しているかを確認することが重要です。設定に不備があると、メールが迷惑メールとして扱われたり、受信を拒否されたりするリスクが高まります。
本記事では、SPFの設定内容や認証結果を確認する具体的な方法と、認証に失敗する主な原因について分かりやすく解説します。
SPFが正しく設定されているかは、DNSに公開されているSPFレコードを参照することで確認できます。具体的には、オンラインツールを利用する方法と、コマンドラインで直接DNSを参照する方法があります。
オンラインツールを利用することで、DNSに公開されているSPFレコードを簡単に確認できます。代表的なツールとしては、次のものがあります。
ドメイン名など必要な項目を入力すると、以下を確認できます。
SPFのDNSルックアップ回数制限については、以下の記事で詳しく解説しています。
DNSを直接参照することで、SPFレコードを確認することも可能です。SPFレコードはDNSのTXTレコードとして登録されており、「v=spf1」から始まる文字列で記述されています。
ターミナルを起動し、以下のコマンドを実行します。
dig TXT example.com
「example.com」には確認したいドメインを入力してください。
実行結果の中に、以下の例のような「v=spf1」から始まる文字列が表示されれば、SPFレコードが登録されています。
v=spf1 ip4:203.0.113.1 include:_spf.example.com -all
コマンドプロンプトを起動し、以下のコマンドを実行します。
nslookup -type=TXT example.com
同様に「v=spf1」から始まる文字列が表示されれば、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のルックアップ回数制限オーバー |
「spf=pass」と表示されていれば、検証は成功しています。
参考:Gmailヘルプ「詳細ヘッダーからメールの経路を確認する」https://support.google.com/mail/answer/29436?hl=ja(2026/3/3確認)
参考:Yahoo!メールヘルプ「メールの送信者情報の詳細(詳細ヘッダー)やメール全体のソースを表示する」https://support.yahoo-net.jp/PccMail/s/article/H000007254(2026/3/3確認)
参考: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認証を実行できず、認証に失敗してしまいます。
この場合は、利用しているメールサーバーや配信サービスのSPFレコードを、対象ドメインのDNSに追加することで解決できます。
SPFレコードは決められた書式に従って記述する必要があり、構文に誤りがあると認証エラーとなります。
レコードを記述する際には、オンラインツールなどを利用して、正しい構文になっているか確認することが重要です。
SPFレコードの書き方については、以下の記事で詳しく解説しています。
メール送信に使用するサーバーのIPアドレスがSPFレコードに登録されていないと、認証に失敗します。
この場合は、該当のIPアドレスやドメインをSPFレコードに追加することで解決できます。特に新規サービス導入やサーバー移行のタイミングで更新漏れが起きやすいため、正しく設定できているか必ず確認するようにしましょう。
a、mx、includeといったメカニズムを使用すると、そのたびにDNSのルックアップが発生します。SPFレコードでは、DNSの参照回数は最大10回までと定められており、制限を超えると認証に失敗します。
DNS参照回数の制限超過を解消する方法としては、以下があります。
SPFフラット化については、以下の記事を参照してください。
転送によって、送信元IPアドレスが送信サーバーのIPから転送サーバーのIPに変更された場合も、認証に失敗しやすくなります。
DKIMやDMARCと併用することで、SPFの認証に失敗した場合でも送信元の信頼性を維持し、迷惑メール判定や受信拒否を防ぐ効果が期待できます。
DKIM・DMARCの設定方法については、以下の記事で詳しく解説しています。
ベアメールの「迷惑メールスコアリング」では、テストメールを送信するだけで、SPFをはじめDKIM・DMARCの認証結果を確認できます。
さらに、送信元IPアドレスの評価、ブラックリストの登録状況、メール本文の内容、キャリアごとの到達度なども総合的に分析し、迷惑メールと判定されるリスクを可視化することが可能です。
メールの認証状況や配信環境の状態をひと目で確認できるため、認証エラーの原因特定や改善ポイントの把握に役立ちます。
また、オプションの「SPFホスティング」機能では、SPFレコードを自動でフラット化することでDNSルックアップ回数の上限超過を回避し、SPFがエラーになるリスクを軽減できます。
「SPF認証がエラーになる原因を知りたい」「メールの配信状況を確認したい」といった場合は、ぜひお気軽にご相談ください。
本記事では、SPFの設定内容や認証結果を確認する具体的な方法と、認証に失敗する主な原因について解説しました。SPFは送信元の正当性を検証する仕組みであり、正しく設定・運用することでメールの信頼性や到達率の向上につながります。
SPFを安定して運用するために、認証状況を把握し、問題が発生していないかを定期的に確認するようにしましょう。