使い方
- ドメイン自身がメールを送る場合は、a:ドメイン自身のアドレスとmx:ドメイン自身のメールサーバーにチェックを入れます。
- サーバーのネットワークをIPv4のネットワークとIPv6のネットワークに入力し、提供サービスのドメインを取り込むドメインに入力します。
- そのほかの送信元で、ほかの送信元の結果を選びます。-allが厳格な選択です。
- SPFレコード(TXT)をコピーし、ドメインにTXTレコードとして公開します。DNS照会の回数(上限10)が10以下であることを確かめてください。
受信側がSPFレコードを読む方法
SPFレコードは、説明するドメインのTXTレコードです。v=spf1で始まり、a、mx、ip4、ip6、include の項目を並べます。それぞれに、省略できる修飾子が付きます。受信側は左から右へ確認し、最初に当てはまった項目が結果を決めます。+は通過、-は失敗、~はソフトな失敗、?は中立です。+は既定の修飾子です(RFC 7208、4.6.2節)。
- allは、ほかのすべての送信元に当てはまり、その後ろの項目は無視されます(RFC 7208、5.1節)。このページは、allを必ず最後に書きます。
- どの項目にも当てはまらず、redirectもない場合の結果は中立です。?all で終わっているのと同じです(4.7節)。
DNS照会の上限10
a、mx、ptr、exists、include、redirect の項目は、それぞれ1回のDNS照会を使います。取り込んだレコードが行う照会も同じように数えます。受信側は、1回の確認で10回を超える照会が必要になると、エラーを返します(RFC 7208、4.6.4節)。ip4と ip6の項目は照会を使わないため、ネットワーク範囲を公開しているサービスは、include の代わりに ip4と ip6の項目として書けます。
長さとTXT文字列
TXTレコードの文字列は、最大255文字です。長いレコードは複数の文字列として書かれ、受信側は空白なしでつなげます(RFC 7208、3.3節)。公開するレコードは、DNSの応答を512オクテット未満に保つべきです(3.4節)。
例:自社のサーバーと1つのサービスから送るドメイン
レコード v=spf1 a mx ip4:192.0.2.0/24 ip6:2001:db8:1::/48 include:_spf.example.net -all は、ドメイン自身のアドレスのレコードとメールサーバーから送ること、2つのネットワークから送ること、そして _spf.example.net のレコードが認める送信元から送ることを認めます。ほかの送信元はすべて失敗します(-all)。
a、mx、include の項目は、それぞれ照会1回を使い、2つのネットワーク項目は照会を使わないため、このレコードの照会は3回です。_spf.example.net のレコードは独自の照会を加えますが、このページはそれを数えません。
| 項目 | 値 |
|---|---|
| レコード | v=spf1 a mx ip4:192.0.2.0/24 ip6:2001:db8:1::/48 include:_spf.example.net -all |
| DNS照会の回数 | 10回中3回 |
| 文字数 | 78 |
よくある質問
-allと~allのどちらを使うべきですか?
-all は、記載されていない送信元をすべて失敗とするよう受信側に伝えるため、厳格な選択です。~all は、ほかの送信元をソフトな失敗とします。多くのドメインが、一覧が完全かどうかを確かめる間、これを使っています。一覧が完全か分からない場合は、~all から始めてください。
照会が10回を超えるレコードが失敗するのはなぜですか?
受信側は、1回の確認で最大10回のDNS照会を行い、それ以上を必要とする確認はエラーを返します(RFC 7208、4.6.4節)。使っていない include を削除するか、提供者が公開する範囲を ip4と ip6の項目として書いてください。これらは照会を使いません。
SPFレコードは、1つの文字列でなければなりませんか?
いいえ。TXTの文字列は最大255文字で、長いレコードは、引用符で囲んだ複数の文字列として公開されます。受信側は、空白なしでつなげます(RFC 7208、3.3節)。このページの分割結果は、1つに収まらない長いレコードの文字列を示します。
includeは何をしますか?
include:ドメイン は、受信側に、そのドメインのSPFレコードを自分のレコードの一部として確認させます(RFC 7208、5.2節)。そのレコードの照会は上限10に数えられるため、提供者の include は、ここで見える1回より多くの照会を使うことがあります。
SPFレコードがあれば、なりすましメールを防げますか?
いいえ。SPFは、メッセージを送ったサーバーを確認します。そのうえでDMARCが、Fromの行のドメインが一致するかを確認します(RFC 7489、3.1節)。DKIMの署名とDMARCの方針も公開してください。
この作成ツールは、ドメインを誰かに送りますか?
いいえ。レコードは、入力した内容からお使いのブラウザの中で組み立てられ、ネットワーク上で何も調べられず、保存もされません。
出典
- RFC 7208(英語): Sender Policy Framework (SPF)
- RFC 7489(英語): DMARC, section 3.1 on alignment
- RFC 4291(英語): IP Version 6 Addressing Architecture
数値と文章の最終確認日:2026年11月10日火曜日。