---
title: "SPFとは？Sender Policy Frameworkをわかりやすく解説 | DMARC Report"
description: "SPF（Sender Policy Framework）は、ドメイン所有者が自分の代わりにメールを送信できるIPアドレスを宣言できるDNSベースのメール認証プロトコルです。SPFレコードの構文、10ルックアップ制限、メカニズム、修飾子、よくある問題を解説します。"
image: "https://dmarcreport.com/images/og-default.png"
canonical: "https://dmarcreport.com/ja/spf-toha/"
---

メール認証 

# SPFとは  
何ですか？ 

SPF（Sender Policy Framework）は、ドメイン所有者が自分の代わりにメールを送信することを許可されたIPアドレスとサーバーを公開でき、それ以外のすべてを拒否するよう受信側に指示するDNSベースのメール認証プロトコルです。[DKIM](/ja/dkim-toha/)とともに、[DMARC](/ja/dmarc-toha/)が築かれる基盤を形成します。

[ SPFレコードをチェック → ](/ja/tools/spf-checker/) 

仕組み 

## IPベースの送信者認可、3つのステップ

SPFを使えば、あなたのドメインのメール送信を許可するサーバーを宣言できます。受信側は、すべての受信メッセージを公開されたリストと照合します。

01

### 送信者が送信する

メールサーバーが、あなたのドメインを名乗るメッセージを配信するためにSMTP接続を開始します。接続してきたサーバーのIPアドレスが受信サーバーに記録されます。

02

### 受信側がSPFを確認する

受信サーバーは、あなたのドメインのSPF TXTレコードをDNSに問い合わせます。あなたが公開した許可済みIPアドレス、include、メカニズムのリストを取得します。

03

### 合格または失敗

接続してきたIPがSPFレコードと照合されます。許可されたメカニズムに一致すれば結果はPassです。一致しない場合、結果はallの修飾子によって決まります。ハードフェイル、ソフトフェイル、または中立のいずれかです。

レコードの構造 

## SPFレコードは  
DNSでどう見えるか

SPFレコードは、あなたのドメインの頂点に公開される単一のDNS TXTレコードです。`v=spf1`で始まり、`include:`や`ip4:`のようなメカニズムを使って許可されたすべての送信元を列挙し、`all`修飾子で終わります。[SPFレコードジェネレーター](/ja/tools/spf-record-generator/)を使えば、有効なレコードを数秒で作成できます。

- ドメインが持てるSPFレコードは正確に1つ（複数のレコードはPermErrorを引き起こす）
- レコードは最初のメカニズムとしてv=spf1で始まる必要がある
- 各include:メカニズムは10ルックアップ制限に対して1回以上のDNSルックアップを要する
- ip4:とip6:メカニズムはDNSルックアップとしてカウントされない
- allメカニズムは最後に置き、デフォルトのアクションを定義する

DNS TXTレコード 

`example.com. IN TXT "v=spf1 include:_spf.google.com include:sendgrid.net ip4:203.0.113.10 -all"` 

`v=spf1` 

バージョン

必須。最初のトークンである必要があります。これをSPFレコードとして識別します。

`include:` 

委譲

別のドメインのSPFレコードを取得します。1回以上のDNSルックアップを要します。

`ip4:` 

IPアドレス

特定のIPv4アドレスまたはCIDR範囲を許可します。DNSルックアップは不要です。

`-all` 

ハードフェイル

前のメカニズムに一致しないすべての送信元を拒否します。

SPFルックアップカウンター 

`include:_spf.google.com` 

+3 3/10 

`include:sendgrid.net` 

+2 5/10 

`include:spf.mailchimp.com` 

+2 7/10 

`include:spf.hubspot.com` 

+2 9/10 

`include:spf.freshdesk.com` 

+2 11/10 

PermError：10回のDNSルックアップを超過 - このドメインのすべてのメールがSPFに失敗 

10ルックアップの制限 

## なぜSPFは  
10回のDNSルックアップで破綻するのか

RFC 7208のセクション4.6.4は、SPF評価を10回のDNSメカニズムルックアップに制限しています。これにより、SPFレコードがDNS増幅攻撃の手段として使われるのを防ぎます。`include`、`a`、`mx`、`redirect`、`exists`の各メカニズムはDNSルックアップを発生させます。4〜5個のメールサービスを使う組織は、この制限をよく超えてしまいます。

解決策：SPFフラット化

SPFフラット化は`include:`メカニズムを解決済みのIPアドレスに置き換え、DNSルックアップをなくします。姉妹製品の[AutoSPF](https://autospf.com)はフラット化を自動的に処理し、プロバイダーのIP変更を検出するために15分ごとに再スキャンします。

SPFメカニズム 

## SPFレコードの構成要素

各メカニズムは、送信元IPアドレスを照合するためのルールを定義します。メカニズムは、一致が見つかるまで左から右へ評価されます。

`ip4 / ip6` 

特定のIPv4またはIPv6アドレス、あるいはCIDR範囲を許可します。DNSクエリが不要なため、10ルックアップの制限にはカウントされません。

`ip4:203.0.113.0/24` 

`include` 

別のドメインのSPFレコードに認可を委譲します。受信側はそのレコードを取得して評価します。各includeは1回以上のDNSルックアップを要します。

`include:_spf.google.com` 

`a` 

指定したドメインのAまたはAAAAレコードが返すIPアドレスを許可します。DNSルックアップを1回要します。

`a:mail.example.com` 

`mx` 

ドメインのMX（メール交換）サーバーのIPアドレスを許可します。DNSルックアップを1回に加え、MX解決のための追加ルックアップを要します。

`mx` 

`redirect` 

現在のSPFレコードを別のドメインのレコードで完全に置き換えます。あるドメインの送信ポリシーが別のドメインと同一の場合に使用します。

`redirect=_spf.example.com` 

`all` 

前のメカニズムで捕捉されなかったすべてのIPに一致します。常に最後に置きます。修飾子（+、-、\~、?）が、一致しなかった送信元にどう対応するかを決めます。

`-all` 

SPF修飾子 

## +、-、\~、?が配信にとって何を意味するか

修飾子は任意のメカニズムの前に付き、そのメカニズムが一致したときの結果を制御します。`all`メカニズムの修飾子が最も重要で、列挙されていないすべての送信元にどう対応するかを定義します。

+

Pass（合格）

IPは許可されています。修飾子を指定しない場合のデフォルトです。明示的に書かれることはほとんどありません。

`+all（allと同じ）` 

\-

Hard Fail（ハードフェイル）

IPは許可されていません。受信側はメッセージを拒否すべきです。最も強い適用シグナルです。

`-all` 

\~

Soft Fail（ソフトフェイル）

IPはおそらく許可されていません。受信側は受け入れつつ疑わしいものとしてマークすべきです。導入初期に安全です。

`~all` 

?

Neutral（中立）

IPについて何も主張しません。SPFの結果は情報を提供しません。実際にはほとんど使われません。

`?all` 

トラブルシューティング 

## よくあるSPFの問題とその解決方法

SPFの失敗のほとんどは、ルックアップ制限、送信元の記載漏れ、あるいは適切なツールで簡単に見つけられる設定ミスから生じます。

### DNSルックアップが多すぎる

SPFレコードがRFC 7208の10ルックアップ制限を超えています。include、a、mx、redirect、existsのすべてがカウントされます。SPFフラット化またはAutoSPFを使ってIPを静的に解決してください。

### 送信元の記載漏れ

正当なメールサービスがSPFレコードに列挙されていません。マーケティングツール、CRM、サポートデスクなどの新しいサービスを追加した後によく起こります。DMARC集計レポートを確認して、SPFに失敗している送信元を見つけてください。

### ボイドルックアップの制限

RFC 7208はボイドルックアップ（NXDOMAINまたは空の応答）も2回に制限しています。もはや解決されない古いincludeドメインはボイドルックアップを発生させ、合計10ルックアップ未満でもPermErrorを引き起こすことがあります。

### 複数のSPFレコード

ドメインには正確に1つのSPF TXTレコードが必要です。複数のレコードはPermErrorを引き起こします。すべての許可された送信元を、v=spf1で始まる単一のレコードに統合してください。

### ptrメカニズムの使用

ptrメカニズムは、遅く、信頼性が低く、DNSに過度の負荷をかけるため、RFC 7208で非推奨とされています。一部の受信側は完全に無視します。ip4/ip6またはincludeメカニズムに置き換えてください。

### 寛容すぎる+all

+allを使うと、インターネット上のあらゆるIPアドレスがあなたのドメインとして送信できるようになり、SPFの目的そのものが台無しになります。最後のメカニズムには必ず-all（ハードフェイル）または\~all（ソフトフェイル）を使ってください。

FAQ 

## SPFに関するよくあるご質問

### SPFとは何ですか？

SPF（Sender Policy Framework）は、RFC 7208で定義されたDNSベースのメール認証プロトコルで、ドメイン所有者がそのドメインを代理してメールを送信することを許可されたIPアドレスとサーバーを公開できるようにします。受信側メールサーバーは、送信元IPを公開されたSPFレコードと照合し、許可されていない送信元からのメッセージを拒否またはフラグ付けします。SPFはDKIM、DMARCと並ぶ3つの基礎的なメール認証プロトコルの一つです。

### SPFレコードはどのようなものですか？

SPFレコードは、ドメインの頂点（apex）に公開されるDNS TXTレコードです。典型的なレコードは次のようになります：v=spf1 include:\_spf.google.com include:sendgrid.net ip4:203.0.113.10 -all。v=spf1タグは必須で、最初に置く必要があります。includeメカニズムは別のドメインに認可を委譲します。ip4およびip6メカニズムは特定のIPアドレスを許可します。末尾のallメカニズムは、リストにない送信元に対するデフォルトのポリシーを定義します。-allはハードフェイル、\~allはソフトフェイルを意味します。

### なぜSPFには10ルックアップの制限があるのですか？

RFC 7208のセクション4.6.4は、SPFレコードがDNS増幅攻撃の手段になるのを防ぐため、SPF評価を10回のDNSメカニズムルックアップに制限しています。include、a、mx、redirect、existsの各メカニズムは、この制限にカウントされるDNSルックアップを発生させます。組織が複数のメールサービス（Google Workspace、SendGrid、Mailchimp、CRM、サポートデスク）を使用すると、ネストされたincludeによるルックアップの合計が容易に10を超えます。制限を超えるとPermErrorが発生し、そのドメインからのすべてのメッセージの認証が失敗します。

### SPFの10ルックアップ制限を超えるとどうなりますか？

SPFレコードが10回のDNSメカニズムルックアップを超えると、受信サーバーはPermErrorの結果を返します。PermErrorはSPFレコードを評価できなかったことを意味し、ほとんどの受信側はそれを失敗として扱います。これは超過を引き起こした送信元のメッセージだけでなく、そのドメインから送信されるすべてのメールに影響します。解決策はSPFフラット化（includeメカニズムを解決済みのIPアドレスに置き換える）またはSPFマクロです。DMARC Reportの姉妹製品であるAutoSPF（autospf.com）は両方のアプローチに対応し、15分ごとに再スキャンします。

### SPFの-allと\~allの違いは何ですか？

\-all修飾子（ハードフェイル）は、SPFレコードに明示的に列挙されていないIPアドレスからのメールを拒否するよう受信サーバーに指示します。\~all修飾子（ソフトフェイル）は、メッセージを受け入れつつ疑わしいものとしてマークするよう受信側に指示します。実際には、DMARCの適用により多くの受信側は両者を同様に扱いますが、-allは最も強いシグナルを提供します。SPF導入初期には安全のために\~allを使い、すべての正当な送信元を把握できたら-allに切り替えてください。

### SPFはメール転送で機能しますか？

いいえ。メールが転送されると、転送サーバーのIPアドレスが元のドメインのSPFレコードに含まれていないため、SPFは失敗します。転送サーバーは自身のIPからメッセージを中継し、受信サーバーはそれを元のドメインのSPFレコードと照合して失敗と判定します。これがDKIMが存在する主な理由の一つです。DKIM署名はメッセージ自体に付与され、転送されても維持されます。DMARCはSPFかDKIMのいずれか一方が合格して整合すればよいため、DKIMが転送のギャップを補います。

### SPFレコードはどうやってチェックしますか？

DMARC ReportのSPF Checkerツール（dmarcreport.com/tools/spf-checker/）を使って、SPFレコードを検索し、DNSルックアップ数を数え、構文エラーを確認し、すべての送信元が含まれているかを検証してください。このツールはすべてのincludeメカニズムを再帰的に解決し、SPFレコードが許可するIPアドレスの完全なリストを表示します。コマンドラインからnslookupやdigを使うこともできます。dig TXT example.comでSPFレコードが返されます。

## 今すぐSPFレコードをチェック

無料のSPF Checkerを使って、DNSルックアップを数え、記載漏れの送信元を検出し、レコードの構文を検証しましょう。結果は数秒で出ます。

[SPFレコードをチェック](/ja/tools/spf-checker/)

## セキュリティチームが語るSPF監視

![G2 Leader - DMARC](https://media.mailhop.org/dmarcreport/images/g2-badges/DMARC_Leader_Leader.png)

Rated 4.8/5 on G2 · 469 verified reviews

![G2 Momentum Leader - DMARC](https://media.mailhop.org/dmarcreport/images/g2-badges/DMARC_MomentumLeader_Leader.png)

VU

Verified User in Information Technology and Services

5/5

### "Best security tool for your own domains"

The weekly reports help me a lot to analyze quickly the emails sent from my domains and that gives me peace of mind.

8/31/2022Verified on G2

RC

Ryan C.

Director

4.5/5

### "Control Centre for Email Security"

I like that we can see and check all reports on just 1 platform. We manage multiple domains, and monitoring them all in one place is essential.

8/29/2022Verified on G2

eg

eddy g.

Director

4.5/5

### "A great solution to a common email problem."

I have been using them for the last month after my Google business email started giving DMARC errors. I didn't even know what it meant at that time. After a little googling I found that people can spoof it as well. So far so good — the best thing is it protects every email.

8/29/2022Verified on G2

[Read all 469 reviews on G2 →](https://www.g2.com/products/dmarc-report/reviews)

```json
{"@context":"https://schema.org","@type":"Organization","@id":"https://www.wikidata.org/wiki/Q138898167","name":"DMARC Report","url":"https://dmarcreport.com","logo":{"@type":"ImageObject","url":"https://dmarcreport.com/images/dmarcreport-logo.png"},"description":"DMARC reporting and email authentication management. Monitor aggregate and forensic DMARC reports, analyze authentication results, and enforce DMARC policies across all your domains.","parentOrganization":{"@type":"Organization","@id":"https://www.wikidata.org/wiki/Q138883901","name":"DuoCircle LLC","url":"https://www.duocircle.com","sameAs":["https://www.wikidata.org/wiki/Q138883901","https://www.crunchbase.com/organization/duocircle-llc","https://www.linkedin.com/company/duocircle","https://github.com/duocircle"],"subOrganization":[{"@type":"Organization","@id":"https://www.wikidata.org/wiki/Q138898167","name":"DMARC Report","url":"https://dmarcreport.com"},{"@type":"Organization","@id":"https://www.wikidata.org/wiki/Q138897474","name":"AutoSPF","url":"https://autospf.com"},{"@type":"Organization","@id":"https://www.wikidata.org/wiki/Q138897912","name":"Phish Protection","url":"https://www.phishprotection.com"}]},"sameAs":["https://www.wikidata.org/wiki/Q138898167","https://www.linkedin.com/company/duocircle","https://x.com/duocirclellc","https://www.g2.com/products/dmarc-report/reviews","https://github.com/duocircle","https://www.crunchbase.com/organization/duocircle-llc","https://www.trustradius.com/products/duocircle/reviews"],"aggregateRating":{"@type":"AggregateRating","ratingValue":"4.8","reviewCount":"471","bestRating":"5","worstRating":"1","url":"https://www.g2.com/products/dmarc-report/reviews"},"contactPoint":{"@type":"ContactPoint","contactType":"customer support","url":"https://dmarcreport.com/support/"},"knowsAbout":["DMARC","DMARC Reporting","DMARC Aggregate Reports","DMARC Forensic Reports","Sender Policy Framework","DKIM","Email Authentication","Email Security","DNS Management","Email Deliverability"]}
```

```json
{"@context":"https://schema.org","@type":"WebSite","name":"DMARC Report","url":"https://dmarcreport.com","description":"DMARC reporting and email authentication management. Monitor aggregate and forensic DMARC reports, analyze authentication results, and enforce DMARC policies across all your domains.","publisher":{"@type":"Organization","name":"DMARC Report","url":"https://dmarcreport.com","logo":{"@type":"ImageObject","url":"https://dmarcreport.com/images/dmarcreport-logo.png"},"description":"DMARC reporting and email authentication management. Monitor aggregate and forensic DMARC reports, analyze authentication results, and enforce DMARC policies across all your domains.","parentOrganization":{"@type":"Organization","@id":"https://www.wikidata.org/wiki/Q138883901","name":"DuoCircle LLC","url":"https://www.duocircle.com","sameAs":["https://www.wikidata.org/wiki/Q138883901","https://www.crunchbase.com/organization/duocircle-llc","https://www.linkedin.com/company/duocircle","https://github.com/duocircle"],"subOrganization":[{"@type":"Organization","@id":"https://www.wikidata.org/wiki/Q138898167","name":"DMARC Report","url":"https://dmarcreport.com"},{"@type":"Organization","@id":"https://www.wikidata.org/wiki/Q138897474","name":"AutoSPF","url":"https://autospf.com"},{"@type":"Organization","@id":"https://www.wikidata.org/wiki/Q138897912","name":"Phish Protection","url":"https://www.phishprotection.com"}]}}}
```

```json
[{"@context":"https://schema.org","@type":"FAQPage","mainEntity":[{"@type":"Question","name":"SPFとは何ですか？","acceptedAnswer":{"@type":"Answer","text":"SPF（Sender Policy Framework）は、RFC 7208で定義されたDNSベースのメール認証プロトコルで、ドメイン所有者がそのドメインを代理してメールを送信することを許可されたIPアドレスとサーバーを公開できるようにします。受信側メールサーバーは、送信元IPを公開されたSPFレコードと照合し、許可されていない送信元からのメッセージを拒否またはフラグ付けします。SPFはDKIM、DMARCと並ぶ3つの基礎的なメール認証プロトコルの一つです。"}},{"@type":"Question","name":"SPFレコードはどのようなものですか？","acceptedAnswer":{"@type":"Answer","text":"SPFレコードは、ドメインの頂点（apex）に公開されるDNS TXTレコードです。典型的なレコードは次のようになります：v=spf1 include:_spf.google.com include:sendgrid.net ip4:203.0.113.10 -all。v=spf1タグは必須で、最初に置く必要があります。includeメカニズムは別のドメインに認可を委譲します。ip4およびip6メカニズムは特定のIPアドレスを許可します。末尾のallメカニズムは、リストにない送信元に対するデフォルトのポリシーを定義します。-allはハードフェイル、~allはソフトフェイルを意味します。"}},{"@type":"Question","name":"なぜSPFには10ルックアップの制限があるのですか？","acceptedAnswer":{"@type":"Answer","text":"RFC 7208のセクション4.6.4は、SPFレコードがDNS増幅攻撃の手段になるのを防ぐため、SPF評価を10回のDNSメカニズムルックアップに制限しています。include、a、mx、redirect、existsの各メカニズムは、この制限にカウントされるDNSルックアップを発生させます。組織が複数のメールサービス（Google Workspace、SendGrid、Mailchimp、CRM、サポートデスク）を使用すると、ネストされたincludeによるルックアップの合計が容易に10を超えます。制限を超えるとPermErrorが発生し、そのドメインからのすべてのメッセージの認証が失敗します。"}},{"@type":"Question","name":"SPFの10ルックアップ制限を超えるとどうなりますか？","acceptedAnswer":{"@type":"Answer","text":"SPFレコードが10回のDNSメカニズムルックアップを超えると、受信サーバーはPermErrorの結果を返します。PermErrorはSPFレコードを評価できなかったことを意味し、ほとんどの受信側はそれを失敗として扱います。これは超過を引き起こした送信元のメッセージだけでなく、そのドメインから送信されるすべてのメールに影響します。解決策はSPFフラット化（includeメカニズムを解決済みのIPアドレスに置き換える）またはSPFマクロです。DMARC Reportの姉妹製品であるAutoSPF（autospf.com）は両方のアプローチに対応し、15分ごとに再スキャンします。"}},{"@type":"Question","name":"SPFの-allと~allの違いは何ですか？","acceptedAnswer":{"@type":"Answer","text":"-all修飾子（ハードフェイル）は、SPFレコードに明示的に列挙されていないIPアドレスからのメールを拒否するよう受信サーバーに指示します。~all修飾子（ソフトフェイル）は、メッセージを受け入れつつ疑わしいものとしてマークするよう受信側に指示します。実際には、DMARCの適用により多くの受信側は両者を同様に扱いますが、-allは最も強いシグナルを提供します。SPF導入初期には安全のために~allを使い、すべての正当な送信元を把握できたら-allに切り替えてください。"}},{"@type":"Question","name":"SPFはメール転送で機能しますか？","acceptedAnswer":{"@type":"Answer","text":"いいえ。メールが転送されると、転送サーバーのIPアドレスが元のドメインのSPFレコードに含まれていないため、SPFは失敗します。転送サーバーは自身のIPからメッセージを中継し、受信サーバーはそれを元のドメインのSPFレコードと照合して失敗と判定します。これがDKIMが存在する主な理由の一つです。DKIM署名はメッセージ自体に付与され、転送されても維持されます。DMARCはSPFかDKIMのいずれか一方が合格して整合すればよいため、DKIMが転送のギャップを補います。"}},{"@type":"Question","name":"SPFレコードはどうやってチェックしますか？","acceptedAnswer":{"@type":"Answer","text":"DMARC ReportのSPF Checkerツール（dmarcreport.com/tools/spf-checker/）を使って、SPFレコードを検索し、DNSルックアップ数を数え、構文エラーを確認し、すべての送信元が含まれているかを検証してください。このツールはすべてのincludeメカニズムを再帰的に解決し、SPFレコードが許可するIPアドレスの完全なリストを表示します。コマンドラインからnslookupやdigを使うこともできます。dig TXT example.comでSPFレコードが返されます。"}}]}]
```

```json
{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://dmarcreport.com/"},{"@type":"ListItem","position":2,"name":"学ぶ","item":"https://dmarcreport.com/ja/dmarc-toha/"},{"@type":"ListItem","position":3,"name":"SPFとは","item":"https://dmarcreport.com/ja/spf-toha/"}]}
```
