メールを使ったやりとりが日常的になっている現代、迷惑メール(スパム)やなりすましメール(フィッシング)などの被害も増加しています。その中で、自社のドメインを使ったなりすましメールを防ぐための技術として「SPF(Sender Policy Framework)」が広く利用されています。本記事では、SPFの基本的な仕組みから、設定方法、メリット・デメリット、よくあるトラブルとその対策までを、初心者にもわかりやすく解説します。
SPFとは何か?
SPF(Sender Policy Framework)は、送信者のメールアドレスのドメインが、そのメールを送ることを許可したサーバー(IPアドレス)かどうかを受信側が確認できるようにする認証技術です。
簡単に言うと、「このドメインからメールを送るときは、このサーバーからしか送ってはいけません」と宣言する仕組みです。これにより、第三者が無断で他人のドメインを使ってメールを送信する「なりすまし」を防ぐことができます。
なぜSPFが必要なのか
インターネットのメールの仕組み上、差出人アドレスは簡単に偽装できます。そのため、自社や組織のドメイン名を悪用されて、他人が勝手に迷惑メールやフィッシングメールを送るリスクがあります。
SPFを設定することで、こうしたなりすましメールを受信側が判定しやすくなり、迷惑メール対策の強化につながります。企業や組織、個人事業主にとっても、自身のブランドや信頼性を守るためには必須の対策です。
SPFの仕組みと認証の流れ
SPFの仕組みを簡単にまとめると、以下のようになります。
- 送信者(例:user@example.com)がメールを送信
- 受信者のメールサーバーが、差出人のドメイン(example.com)のDNSレコードを確認
- DNSに記載されているSPFレコードをチェック
- 実際にメールを送ってきたサーバーのIPアドレスが、SPFレコードで許可されているかどうかを判定
- 許可されていれば「SPF認証成功」、許可されていなければ「SPF認証失敗」
もしSPF認証に失敗した場合、受信側のメールサーバーは、そのメールを迷惑メールフォルダに振り分けたり、受信自体を拒否したりする場合があります。
SPFレコードの書き方と基本構成
SPFはDNSの「TXTレコード」として設定します。設定例は次のようになります。
v=spf1 include:spf.protection.outlook.com ip4:192.0.2.1 -all
各要素の意味は以下の通りです。
| 設定項目 | 意味 |
|---|---|
| v=spf1 | SPFレコードのバージョン(現時点では常に「v=spf1」) |
| include: | 他のドメインのSPFレコードも参照する場合に使用 |
| ip4: | 許可するIPv4アドレス |
| ip6: | 許可するIPv6アドレス |
| -all | ここまでで許可したサーバー以外は全て拒否する(厳格な設定) |
| ~all | ここまでで許可したサーバー以外は「ソフトフェイル(推奨しない)」 |
| ?all | 結果に影響しない(任意) |
例:Gmail、Microsoft 365、独自サーバーを許可する場合
v=spf1 include:_spf.google.com include:spf.protection.outlook.com ip4:192.0.2.1 -all
SPFレコードの設定方法
1. SPFレコードを作成
まず、自分が利用しているメールサービスやサーバーが推奨するSPFレコードを確認します。Gmail(Google Workspace)やMicrosoft 365など、主要サービスにはそれぞれ専用のSPF記述があります。
2. DNSの管理画面から設定
ドメインのDNS管理画面にアクセスし、「TXTレコード」を追加します。
例:
- ホスト名(Name):空欄 または @(ドメイン直下の場合)
- 種別(Type):TXT
- 値(Value):v=spf1 include:spf.protection.outlook.com -all
3. 反映を待つ
DNS設定は即時反映される場合もありますが、最大72時間ほどかかることがあります。
DNSが反映されたかどうかは、nslookupコマンドや専用のチェックツールで確認できます。
SPFのメリットとデメリット
メリット
- なりすましメールの防止:自社ドメインの悪用を防げる
- 信頼性の向上:メールが迷惑メール扱いされにくくなる
- 導入が簡単:DNSのTXTレコードを編集するだけで導入可能
デメリット・注意点
- メール転送との相性が悪い
メール転送(自動転送)の場合、転送元サーバーが許可リストに含まれていないとSPF認証に失敗することがある - 許可リストの管理が必要
メールを送信するサーバーが増減した場合は、都度SPFレコードの見直しが必要 - SPF単体では完全防御にならない
SPFはあくまで差出人サーバーの認証であり、メール本文の改ざんや別のなりすまし方法には効果がない(DMARCやDKIMとの組み合わせ推奨)
SPFとDMARC、DKIMの違いと連携
| 項目 | SPF(Sender Policy Framework) | DKIM(DomainKeys Identified Mail) | DMARC(Domain-based Message Authentication, Reporting & Conformance) |
|---|---|---|---|
| 目的 | 送信サーバーの認証 | メール本文の改ざん防止と送信者認証 | SPFやDKIMの認証結果に基づき、なりすましメール対策のポリシーを設定 |
| 主な方法 | 送信サーバーのIPアドレス判定 | 電子署名による認証 | ポリシー設定+レポート送信 |
多くの場合、SPF単体だけでなく、DKIM、DMARCをあわせて設定することで、より強力ななりすまし・迷惑メール対策が可能となります。
SPFレコード作成の具体例とポイント
主要メールサービスのSPF例
| サービス | SPFレコード例 |
|---|---|
| Gmail | v=spf1 include:_spf.google.com ~all |
| Microsoft 365 | v=spf1 include:spf.protection.outlook.com -all |
| さくらインターネット | v=spf1 include:spf.secureserver.net -all |
| エックスサーバー | v=spf1 include:spf.xserver.jp -all |
SPFレコード設定時の注意点
- 複数メールサービスを利用している場合は、それぞれの「include」指定を忘れずに
- SPFレコードは最大10回まで「include」や「a」「mx」などの参照が可能(これを超えると認証エラーになる可能性あり)
- サーバー移行や追加時は、SPFレコードの更新を必ず実施
SPFによくあるトラブルと対処法
メールが届かない・迷惑メールになる
- SPFレコードの記述ミスやサーバー追加漏れが原因の場合が多い
- 転送時はSPFに失敗しやすいため、必要に応じて「SRS(Sender Rewriting Scheme)」の導入や、転送元での設定変更を検討
SPFレコードが複数ある
- SPFレコード(TXT)は1つのドメインにつき1つだけ登録してください。複数あると正常に機能しません。
「Permerror」や「Too many DNS lookups」と出る
- SPFの参照回数が10回を超えるとエラーとなる仕様です。
余分な「include」や「mx」「a」などの指定を減らして10回以内に収めてください。
SPFを活用したセキュリティ強化のすすめ
SPFは、メールセキュリティ対策として第一歩となる仕組みです。しかし、SPFだけでは防げないなりすまし手法もあるため、できればDKIM、DMARCも併用して総合的な対策を行うことをおすすめします。
自社のメール環境や運用体制にあわせて、正しくSPFを設定し、定期的な見直しを行うことが、組織の信頼性向上につながります。
まとめ
SPF(Sender Policy Framework)は、ドメインのなりすましや迷惑メール対策に非常に有効な仕組みです。
設定も比較的簡単ですが、運用上の注意点や他の認証技術との連携も意識することで、さらに強固なメールセキュリティを実現できます。
安全で信頼されるメール運用のために、ぜひSPFを正しく設定・活用してください。

コメント