SPF(Sender Policy Framework)は、メールの送信元IPアドレスをもとに、許可された送信者から送られたメールかどうかを確認する送信ドメイン認証技術です。送信側は、あらかじめメール送信を許可するIPアドレスやサーバーの情報をSPFレコードとしてDNSに登録しておきます。受信側は、受け取ったメールの送信元IPアドレスとSPFレコードを照合し、許可されたサーバーから送信されたものかを確認します。
外部のメール配信サービスを利用している場合には、SPFレコードの設定時に、他ドメインのSPFポリシーを参照する「include」がよく利用されます。includeが正しく設定されていなかったり、DNSルックアップ回数の上限を超えてしまったりすると、SPF認証が正常に行われない可能性があります。
本記事では、SPF includeの役割から、具体的な書き方と設定方法、よくある設定ミス、DNSルックアップ回数の上限を超過してしまった場合の解決策まで、わかりやすく解説します。
目次
SPF includeとは?
SPFの「include」とは、SPFレコードの構成要素である「メカニズム」の一つです。メカニズムとは、SPF認証において送信元をどのように評価するかを指定するものです。includeのほか、ip4、a、mx、allなど、さまざまな種類があります。
本章では、includeの役割と利用シーンについて解説します。
SPFの仕組みやレコードの構成要素、設定方法については、以下の記事で詳しく解説しています。
SPFレコードとは? 書き方・設定手順・確認方法まで完全ガイド|ベアメールブログ
SPF includeの役割
SPF includeは、別ドメインのSPFレコードを参照するために使用されるメカニズムです。
SPFは、メールの送信元IPアドレスが、そのドメインからの送信を許可されたものかどうかを確認します。includeで別ドメインのSPFレコードを参照することで、そのSPFレコードで送信が許可されているIPアドレスについても、許可の対象に含めることができます。
SPF includeの利用シーン
includeが使用されるのは、主に外部のメール配信サービスなどを利用してメールを送信する場合です。
外部サービスを利用すると、自社のメールサーバーではなく、サービス提供事業者が保有するサーバーからメールが送信されます。サービス提供事業者が公開するSPFレコードをincludeで参照することで、そのSPFレコードで送信が許可されているIPアドレスを、自社ドメインのSPFでも許可された送信元として扱うことができます。
SPF includeの書き方と設定方法
SPF includeの基本的な構文に加えて、既存のSPFレコードにincludeを追加する方法と、複数の外部サービスを利用する場合の設定例を解説します。
SPF includeの基本構文
SPFレコードは、「v=spf1」というバージョン宣言から始まり、複数のメカニズムをスペースで区切って記述します。最後には「all」メカニズムを記述し、許可されていない送信元の扱いを指定するのが一般的です。「all」には、「-all」や「~all」のように限定子を付けて、該当した場合の認証結果を指定します。なお、限定子を省略して「all」と記述した場合は「+all」と同じ扱いとなり、すべての送信元がSPF認証を通過します。
includeを使用する場合は、以下のように記述します。
v=spf1 include:[参照するドメイン] ~all
例えば、Google Workspaceからメールを送信する場合は、includeの参照先としてGoogleが指定する「_spf.google.com」を指定します。その場合のSPFレコードは次のようになります。
v=spf1 include:_spf.google.com ~all
既存のSPFレコードにincludeを追加する場合の設定例
すでにSPFレコードを設定している場合は、既存のレコードにincludeを追加します。
例えば、以下のSPFレコードが設定されているとします。
v=spf1 ip4:192.0.2.1 ~all
ここにGoogle Workspaceの「include:_spf.google.com」を追加する場合は、次のように記述します。
v=spf1 ip4:192.0.2.1 include:_spf.google.com ~all
複数の外部サービスを追加する場合の設定例
複数の外部サービスを利用している場合は、includeを複数並べて記述します。
例えば、Google Workspaceと外部のメール配信サービスを併用している場合のSPFレコードは、以下のようになります。
v=spf1 include:_spf.google.com include:_spf.example.net ~all
このように、利用するサービスをincludeで追加していくことで、それらのサービスが指定する送信元をSPFで許可できます。
ただし、includeを追加するとDNSルックアップ回数も増えるため、上限を超えないよう注意が必要です。DNSルックアップ回数の上限については、後ほど詳しく解説します。
SPF includeのよくある設定ミス
SPF includeの構文はシンプルですが、記述方法を誤ると認証が正しく行われない原因になります。ここでは、includeを設定する際によくあるミスを紹介します。
SPFレコードを新しく追加してしまう
すでにSPFレコードが設定されている場合、新しくレコードを追加するのではなく、既存のレコードにincludeを追記する必要があります。同じドメインに複数のSPFレコードが設定されていると、PermErrorが発生します。
【誤った例】
v=spf1 include:_spf.google.com ~all
v=spf1 include:_spf.example.net ~all
【正しい例】
v=spf1 include:_spf.google.com include:_spf.example.net ~all
既存のSPFレコードを上書きしてしまう
新しい外部サービスのSPF設定を追加する際に、既存のSPFレコードをそのまま上書きしてしまうケースです。
例えば、既存のinclude:_spf.google.comを削除して新しいincludeだけを設定すると、Google WorkspaceからのメールがSPF認証に通らなくなる可能性があります。
必要な設定を残したうえで、includeを追加しましょう。
includeを「all」より後ろに記述してしまう
includeは、「~all」や「-all」などのallメカニズムより前に記述する必要があります。
allは、それまでのメカニズムに該当しなかったすべての送信元に適用されるため、その後ろに記述したincludeは評価されません。
【誤った例】
v=spf1 include:_spf.google.com ~all include:_spf.example.net
【正しい例】
v=spf1 include:_spf.google.com include:_spf.example.net ~all
includeの参照先を誤って指定してしまう
includeで指定するドメインに入力ミスがあるなど、正しい参照先を指定できていないと、SPF認証が正常に行われない可能性があります。また、参照先にSPFレコードが存在しない場合は、PermErrorが発生する原因になります。
includeを追加する際は、メール配信サービスなどが案内している参照先を確認し、正確に記述しましょう。
includeを増やしすぎてDNSルックアップ上限を超えてしまう
SPFでは、includeなどによって発生するDNSルックアップ回数に10回までの上限があります。
外部サービスを追加するたびにincludeを増やしていると、参照先のSPFレコードに含まれるincludeなども含めて上限を超え、PermErrorが発生する場合があります。
複数のincludeを設定する場合は、DNSルックアップ回数もあわせて確認しましょう。
SPF include設定時の注意点|DNSルックアップ上限
前述の通り、SPFでincludeを使用する際は、DNSルックアップ回数の上限にも注意が必要です。ここでは、DNSルックアップ回数の上限や、上限を超えた場合の影響、確認方法について解説します。
SPFのDNSルックアップ回数は10回まで
DNSルックアップとは、DNSを参照して、ドメインに紐づく情報を取得する処理のことです。SPFでは、include、a、mxなどDNSルックアップを伴うメカニズム・修飾子の評価数が、SPF評価全体で合計10回までに制限されています。
includeでは、参照先のSPFレコードにさらにincludeなどが含まれている場合、それらも回数に含まれます。そのため、SPFレコード上のincludeが10個未満であっても、DNSルックアップ回数の上限を超えることがあります。
DNSルックアップ回数の確認方法や上限を超えた場合の対処法については、以下の記事で詳しく解説しています。
SPFのDNSルックアップ回数制限とは? 確認方法や対策を解説|ベアメールブログ
DNSルックアップ上限を超えるとどうなる?
DNSルックアップ回数が10回を超えると、SPF認証の結果は「PermError(恒久的なエラー)」となります。
PermErrorとなったメールをどのように扱うかは受信側のメールサーバーによって異なりますが、受信拒否や迷惑メール判定など、メールの配送に影響する可能性があるため注意が必要です。
DNSルックアップ回数を確認する方法
SPFのチェックツールを利用すると、DNSルックアップ回数や上限超過の有無を手軽に確認できます。
「MxToolbox SPF Record Check」や「dmarcian SPF Surveyor」では、ドメイン名を入力することで、SPFレコードの内容やDNSルックアップに関する問題をチェックできます。
特に、SPFレコードを変更した場合や、新たに外部サービスを追加した場合は、DNSルックアップ回数が上限を超えていないか確認しておくとよいでしょう。
DNSルックアップ上限超過を解消する方法
DNSルックアップ回数が上限の10回に近づいている、あるいは超えている場合は、SPFレコードの構成や運用方法を見直す必要があります。ここでは、ルックアップ回数を削減する具体的な方法を紹介します。
不要なinclude指定を削除する
SPFレコードを見直し、不要なinclude指定を削除します。長期間ドメインを運用していると、現在は利用していない外部サービスの設定が残っていることがあります。
こうした不要なinclude指定を整理することで、DNSルックアップ回数を削減できる場合があります。
手動でSPFフラット化を行う
SPFフラット化とは、includeの参照先を展開し、許可されているIPアドレスをSPFレコードに直接記述する方法です。DNSルックアップ回数を削減する手段の一つとして利用されます。
ただし、参照先のIPアドレスが変更された場合は、SPFレコードの更新が必要です。そのため、継続的な確認やメンテナンスが発生し、運用負荷が増える場合があります。
SPFフラット化の仕組みや実施手順、注意点については、以下の記事で詳しく解説しています。
SPFフラット化(フラットニング)とは? 仕組み・手順・リスクを解説|ベアメールブログ
SPFホスティングや自動フラット化サービスを利用する
手動でSPFフラット化を行う場合、参照先の変更に応じてSPFレコードを更新する必要があります。こうした管理の負担を抑えるために、SPFホスティングや自動フラット化サービスを活用するのも有効な手段です。
ベアメールの「迷惑メールスコアリング」では、SPFホスティング機能を提供しています。SPFレコードの参照先を自動でモニタリング・更新することで、DNSルックアップ上限への対応や、SPF管理・運用の負荷軽減につなげられます。
SPFホスティングについて、詳しくは以下のページをご確認ください。
SPFルックアップエラーを効率よく解消するならSPFホスティング|ベアメール
まとめ
本記事では、SPF includeの役割や書き方、よくある設定ミス、DNSルックアップ回数の上限と対処法について解説しました。
includeは、外部のメール配信サービスなどが指定するSPFレコードを参照する際によく利用されるメカニズムです。一方、設定を誤ったり、DNSルックアップ回数が上限を超えたりすると、SPF認証が正常に行われない原因になります。
SPFレコードを変更した場合や新たな外部サービスを追加した場合は、設定内容やDNSルックアップ回数を確認することが重要です。また、管理の負担が大きい場合は、SPFホスティングなどの活用も検討するとよいでしょう。
記事を探す
- 2026年06月
- 2026年05月
- 2026年04月
- 2026年03月
- 2026年01月
- 2025年12月
- 2025年11月
- 2025年10月
- 2025年09月
- 2025年08月
- 2025年07月
- 2025年06月
- 2025年05月
- 2025年04月
- 2025年03月
- 2025年02月
- 2025年01月
- 2024年12月
- 2024年11月
- 2024年10月
- 2024年09月
- 2024年08月
- 2024年07月
- 2024年06月
- 2024年05月
- 2024年03月
- 2024年02月
- 2024年01月
- 2023年12月
- 2023年11月
- 2023年10月
- 2023年09月
- 2023年06月
- 2023年05月
- 2023年01月
- 2022年12月
- 2022年11月
- 2022年10月
- 2022年09月
- 2022年08月
- 2022年07月
- 2022年06月
- 2022年05月
- 2022年04月
- 2022年03月
- 2022年01月
- 2021年12月
- 2021年11月
- 2021年10月
- 2021年09月
- 2021年08月
- 2021年07月
- 2021年06月
- 2021年05月
- 2021年04月
- 2021年03月
- 2021年02月
- 2021年01月
- 2020年12月
- 2020年11月
- 2020年09月
- 2020年08月
- 2020年06月
- 2020年05月
- 2020年04月
- 2020年02月
- 2020年01月
- 2019年12月
- 2019年11月
- 2019年10月
- 2019年09月
- 2019年08月
- 2019年07月
- 2019年06月
- 2019年05月
- 2019年02月
タグ一覧
- 用語解説 (66)
- HowToガイド (56)
- トラブルシューティング (34)
- メール到達率 (29)
- DMARC (21)
- SMTP (18)
- プロに学ぶ (14)
- Techブログ (13)
- メルマガ (13)
- 迷惑メール/スパム (13)
- DNS設定 (12)
- SPF (12)
- メールサーバー (12)
- メールリレー (11)
- DKIM (10)
- ツール・サービス比較 (9)
- BIMI (8)
- Gmail (8)
- IPレピュテーション (6)
- Postfix (6)
- メールエラー/バウンス (6)
- メールヘッダ (6)
- メール開封率 (6)
- ブラックリスト (3)
- メール配信サービス (3)
- API (2)
- ARC (2)
- Exchange Online (2)
- Outlook (2)
- RFC (2)
- iCloud (1)
- メールマーケティング (1)
- 調査 (1)




