SPFとは、「このドメインのメールを、どのメールサーバーから送信してよいか」をDNSで公開する仕組みです。 独自ドメインのメールを使っていると、「SPFを設定してください」「SPFがpassしているか確認してください」と案内されることがあります。
SPFは迷惑メール対策や送信ドメイン認証の基本ですが、設定値を適当に作るものではありません。 利用しているメールサーバーやメール配信サービスが指定する値を確認し、DNSへ正しく登録することが重要です。
30秒でわかる結論
- SPFは、ドメインからメールを送信してよいサーバーをDNSで示す仕組み
- 現在は原則としてDNSのTXTレコードへ「v=spf1」から始まる文字列を登録する
- 受信側は、実際の送信元とSPFの設定を照合して認証結果を判定する
- 同じドメインにSPFレコードを複数作るとエラー原因になるため、基本は1つにまとめる
- Webサイト用サーバー以外からメールを送る場合、その送信元もSPFへ含める必要がある
- SPFだけで迷惑メール判定を完全に防げるわけではなく、DKIM・DMARCもあわせて考える
- 初心者は「自分で文字列を推測せず、利用サービスが指定するSPF値をDNSへ正しく登録する」と覚えればよい
SPFとは?
SPFは「Sender Policy Framework」の略で、メール送信元の正当性を確認するための仕組みです。
たとえば「example.com」という独自ドメインを使ってメールを送る場合、DNSに「このメールサーバーから送信してよい」という情報を公開しておきます。 メールを受け取った側は、その情報と実際の送信元を照合できます。
イメージ
SPFは、メールの「送信許可リスト」に近い仕組みです。 example.comの管理者があらかじめ許可した送信元から届いたメールかを、受信側が確認します。
ただし、SPFはメール本文の内容が安全かどうかを判定する仕組みではありません。 また、SPFを設定しただけで必ず受信トレイへ届くわけでもありません。
SPFは何のために使う?
SPFの主な目的は、第三者が自分のドメインを名乗ってメールを送る「なりすまし」への対策です。
受信側メールサーバーは、送信元をSPFで確認することで、そのメールがドメイン管理者の許可した送信環境から来たものか判断する材料にできます。
- 自社ドメインを勝手に名乗るメールへの対策
- 受信側が送信元を確認するための判断材料
- Gmailなど主要メールサービスへ送信する際の認証基盤
- DKIM・DMARCと組み合わせた送信ドメイン認証
教科書ポイント
SPFは「このメールは絶対に安全」と証明する仕組みではありません。 「この送信元は、そのドメインが許可した範囲に含まれているか」を確認する仕組みと考えると理解しやすくなります。
SPFはDNSのTXTレコードに設定する
SPF情報は、現在はDNSのTXTレコードとして公開します。 一般的なSPFレコードは「v=spf1」から始まります。
SPFレコードの例
v=spf1 include:example.net ~all
この例は仕組みを理解するためのものです。 実際の設定では、利用中のレンタルサーバー、Google Workspace、Microsoft 365、メール配信サービスなどが指定する値を使ってください。
| 部分 | 意味 |
|---|---|
| v=spf1 | SPFバージョン1のレコードであることを示す |
| include: | 指定した別ドメインのSPF情報を参照する |
| ip4: | 許可するIPv4アドレスまたは範囲を指定する |
| ip6: | 許可するIPv6アドレスまたは範囲を指定する |
| ~all / -all | それ以外の送信元をどう扱うか示す |
SPF値を他サイトからコピーしない
SPFは、実際に自分が利用している送信環境によって内容が変わります。 他社や他サイトのSPFレコードをそのままコピーすると、本来許可すべき送信元が認証されなかったり、不要な送信元を許可したりする原因になります。
SPFを設定する基本手順
設定画面の名称はDNSサービスによって異なりますが、基本の流れは共通しています。
レンタルサーバー、Google Workspace、Microsoft 365、メール配信サービス、問い合わせフォームなど、実際の送信元を洗い出します。
利用サービスの管理画面や公式マニュアルでSPF用のTXT値を確認します。
すでに「v=spf1」で始まるレコードが存在する場合、新しいSPFレコードを別に追加せず、既存設定との統合が必要です。
ホスト名、TXT値、TTLなどをDNS管理画面で設定します。
DNSのTXTレコードと、実際に送信したメールの認証結果を確認します。
特に重要なのが3番目です。 同じドメインにSPFレコードを複数作るのは避けてください。 複数の「v=spf1」で始まるレコードが存在すると、受信側で正しく評価できず「permerror」となる原因になります。
SPF設定例|複数サービスからメールを送る場合
現在のWeb運用では、1つのドメインから複数サービスを使ってメールを送ることがあります。
- 普段の社員メール:Google Workspace
- お問い合わせフォーム:レンタルサーバー
- メールマガジン:外部のメール配信サービス
このような場合、社員メールだけをSPFへ登録しても、問い合わせフォームやメール配信サービスから送ったメールはSPFで認証できない可能性があります。
SPF設定前に洗い出す送信元
- 通常のメールソフト・Webメール
- WordPressのお問い合わせフォーム
- ECサイトの注文メール
- 予約システム
- メールマガジン配信サービス
- CRMや営業支援ツール
- 請求書・会員管理などのクラウドサービス
「独自ドメインメールをどこで受信しているか」だけでなく、どこから送信しているかまで確認することがSPF設定では重要です。
SPFを確認する方法
DNSのTXTレコードを確認する
まず、対象ドメインのTXTレコードに「v=spf1」から始まる値が公開されているか確認します。 DNS確認ツールやOSのコマンドを利用できます。
コマンド例
nslookup -type=TXT example.com
macOSやLinuxなどでは、環境によって次のように確認する方法もあります。
dig TXT example.com
ここで重要なのは「TXTレコードが表示されたか」だけではありません。 複数のTXTレコードが存在すること自体は珍しくありませんが、「v=spf1」で始まるSPFレコードが複数ないかも確認してください。
実際に送信したメールの認証結果を確認する
DNS設定が見えていても、実際のメールがSPF認証を通るとは限りません。 送信元がSPFへ含まれているか確認するため、テストメールを送り、受信したメールのヘッダーを確認します。
| 結果 | 大まかな意味 |
|---|---|
| pass | 送信元がSPFで許可されている |
| fail | 送信元が許可範囲に含まれない |
| softfail | 許可されていない可能性が高い |
| neutral | 明確な許可・拒否判断をしていない |
| permerror | SPFレコードの構造などに恒久的な問題がある |
| temperror | DNS障害など一時的な理由で評価できない |
設定後は必ず実送信で確認
DNS上で文字列が見えることと、実際の送信メールがSPFでpassすることは別です。 会社メールやWordPressフォームなど、実際に使用する送信経路ごとにテストしてください。
SPF設定でよくある失敗
SPFレコードを2つ以上作る
たとえば、すでにレンタルサーバー用SPFがある状態で、外部メールサービス用の「v=spf1…」をもう1本追加するのは代表的な失敗です。
同じドメインのSPFは原則1レコードにまとめます。 ただし、単純に文字列をつなげればよいとは限らないため、利用サービスの公式手順を確認してください。
新しく使い始めた送信サービスを追加していない
メール配信サービス、CRM、フォーム送信サービスなどを追加したあと、SPFを更新していないケースがあります。 受信は問題なくても、そのサービスから送るメールだけSPFが通らないことがあります。
DNS参照回数を増やしすぎる
SPFでは、評価時にDNSを参照する仕組みに制限があります。 RFC 7208では、SPF評価でDNS検索を引き起こす仕組みについて10回の上限が定められています。
複数サービスを「include」で次々追加すると、この上限に達する場合があります。 送信サービスが増えた企業では、単に追記を続けるのではなく、現在のSPF構成を確認してください。
DNS反映前に失敗と判断する
TXTレコードを変更しても、DNSキャッシュやTTLの影響で、すべての環境から直ちに新しい値が見えるとは限りません。 設定直後に一度だけ確認して判断せず、DNS上の値と実際のメール認証結果を確認します。
SPF・DKIM・DMARCの違い
| 仕組み | 主な役割 | 初心者向けの理解 |
|---|---|---|
| SPF | 送信元サーバーの確認 | どの送信元から送ってよいか示す |
| DKIM | 電子署名による確認 | 送信ドメインの署名を確認する |
| DMARC | 認証失敗時の方針・レポート | SPF/DKIM結果を基に扱いを決める |
SPF・DKIM・DMARCは競合する仕組みではなく、役割が異なります。 現在のメール運用では、SPFだけ設定して終わりにするのではなく、DKIM・DMARCを含めた送信ドメイン認証として考えることが重要です。
GoogleはGmail宛ての送信者に認証要件を設けており、すべての送信者にSPFまたはDKIM、大量送信者にはSPF・DKIM・DMARCなどを求めています。 会社メールやメール配信を長期運用するなら、SPFだけでなく3つの仕組みを確認してください。
どんな人がSPFを設定するべき?
独自ドメインメール利用者
重要度:高
info@会社名などの独自ドメインメールを送るなら、SPF設定を確認してください。
会社サイト
重要度:高
社員メール、問い合わせフォーム、各種クラウドサービスなど送信元が増えやすいため、設定状況を把握する必要があります。
WordPressサイト
重要度:中~高
WordPressから問い合わせ通知などを送る場合、どのサーバーやメールサービスから送信しているか確認します。
メールを一切送らないドメイン
状況による
メールを使わない場合でも、ドメインなりすまし対策として送信を許可しないSPF方針を検討する余地があります。設定はDNS管理者や利用サービスの案内に従ってください。
SPF設定時の注意点
メールが届かない原因をSPFだけに決めつけない
メール配送にはSPF以外にも、DKIM、DMARC、送信元IPの評価、DNS、メール本文、迷惑メール判定、受信側ポリシーなど複数の要因があります。 SPFがpassしていても迷惑メールへ入ることはあります。
- 既存SPFレコードを確認してから変更する
- 送信元サービスをすべて洗い出す
- 同一ドメインに複数のSPFレコードを作らない
- 「include」を増やしすぎてDNS参照上限を超えないよう注意する
- 変更前のDNS設定を保存する
- 設定後は実際にメールを送って認証結果を確認する
教科書判定
独自ドメインでメールを送るなら、SPFは「設定されているか」ではなく「実際の全送信元が含まれているか」まで確認する
初心者がSPFの構文をすべて暗記する必要はありません。 まずは「SPF=送信してよいサーバーをDNSで示す仕組み」と理解してください。
そのうえで、レンタルサーバーやメールサービスの公式指定値を使い、既存レコードと重複させずに設定します。 会社サイトでは、通常メールだけでなく、WordPressフォーム、メール配信、CRMなども含めて送信元を確認してください。
設定後にテストメールを送り、SPFがpassしているところまで確認できれば、初心者の実務として一段安心です。
よくある質問
SPFを設定すれば迷惑メールに入らなくなりますか?
いいえ。SPFは重要な認証要素ですが、迷惑メール判定はDKIM・DMARC、送信者評価、メール内容、送信頻度など複数の要因で決まります。SPFは「到達を保証する設定」ではなく、正しい送信元であることを確認する基盤です。
SPFレコードは複数作ってもよいですか?
同じドメインに複数のSPFレコードを作るのは避けてください。「v=spf1」で始まるレコードが複数あると、SPF評価がpermerrorになる原因になります。複数サービスを使う場合は、原則として1つのSPFレコードへまとめます。
SPFとTXTレコードは同じものですか?
同じではありません。TXTレコードはDNSに文字列を登録するためのレコードで、SPFはそのTXTレコードを利用して公開するメール認証情報の一つです。TXTレコードはDKIM・DMARCや各種サービスの所有確認にも使われます。
WordPressを使っているだけでSPF設定は必要ですか?
WordPress本体を使うだけなら一律に必要とは言えません。ただし、お問い合わせフォームや会員通知などWordPressからメールを送る場合は、実際の送信方式と送信ドメインを確認し、必要なSPF・DKIM等を整えることが重要です。
SPFの設定値はどこで調べればよいですか?
利用しているレンタルサーバー、メールサービス、メール配信サービスの公式マニュアルや管理画面を確認してください。自分で推測して値を作ったり、他サイトの設定値をコピーしたりしないでください。
まとめ
この記事の結論
- SPFは、ドメインからメールを送ってよい送信元をDNSで示す仕組み
- 現在はDNSのTXTレコードとして設定する
- SPF値は利用サービスの公式指定値を使う
- 同一ドメインにSPFレコードを複数作らない
- 複数サービスから送る場合は、すべての送信元を確認する
- DNS参照回数には10回の上限があるため、includeの増やしすぎに注意する
- 設定後は実送信してSPFがpassするか確認する
- SPFだけでなくDKIM・DMARCも含めてメール認証を考える
SPFは難しい記号の並びに見えますが、初心者が最初に覚えるべきことはシンプルです。 「誰が自分のドメインからメールを送ってよいかをDNSで公開する設定」と理解し、利用サービスの公式設定値を正確に登録してください。
「DKIMとは?仕組み・設定方法・確認方法を初心者向けに解説」もあわせて確認してください。




