SPFレコード作成ツール
メールを送信するサービスを選ぶだけで、SPFレコードの書き方に迷わず、SPF設定を1つのレコードにまとめられます。受信サーバーにかかるDNSルックアップの回数も、作成しながらリアルタイムで数えます。
ドメインのSPFレコードを、送信元も含めてそのままフォームに読み込みます。下で送信元を選ぶこともでき、選ぶたびに更新されます。
作成はブラウザ内で行います。外部に出るのはDNSの問い合わせだけで、HTTPSでCloudflareのリゾルバーに送られます(確認用にGoogleのリゾルバーも使用)。
example.comのレコード例
上にドメインを入力すると現在公開している内容から始められます。下の項目も自由に変更できます。右のレコードは変更に合わせて更新されます。
記載のないサーバーは拒否されず、疑わしいと判定されます。DMARCがquarantineかrejectなら、判定はDMARCがDKIMをもとに行います。M3AAWGは~allを推奨しています。
このレコードで受信サーバーにかかる負担
/ 10 回のルックアップを使用
110
DNSルックアップ 空の応答(void)
includeを数えています…
ルックアップの内訳
公開する前に
レコードは1つで、受信サーバーが無視したり誤読したりする部分はありません。
どこに貼り付ける?
DNSホストを選ぶと、下の各欄がそのフォームに合わせた形で表示されます。
example.com. 3600 IN TXT "v=spf1 include:_spf.google.com ~all"
公開した後に
SPFレコードの書き方:作成と設定の手順は?
このドメインとしてメールを送るサービスをすべて洗い出し、それぞれのinclude:の項目と自社サーバーのアドレスを、ドメインのTXTレコード1つにまとめ、最後を~allで終えます。
コストの小さい項目を先に書きます。IPアドレスはDNSルックアップを使わず、aとmxは1回ずつ、includeは1回にその中身の分が加わります。
次に数えます。受信サーバーはDNSルックアップが10回に達すると止まります。作成ツールは各includeをリアルタイムでたどるため、表示される数は受信サーバーが見る数と同じです。
ip4:192.0.2.250 ルックアップinclude:_spf.google.com1 ルックアップinclude:spf.mailjet.com1 ルックアップ~all0 ルックアップ
受信サーバーが到達する回数各includeをブラウザからリアルタイムでたどります。ネストしたものも、受信サーバーと同じ数え方です。ルックアップ1回につき1マス使っている送信元ごとに色分けされ、10回を超えるマスには斜線が入ります。その場合は恒久的エラーです。ルックアップの内訳各項目を、その印、ネストしたinclude、コストとともに表示します。多く使っているもの10回を超えた場合は、使用量の多い送信元と、フラット化の落とし穴を含めた現実的な解決策を表示します。別の場所に置く送信元SPFをサブドメインに置く、またはどこにも置かないサービスについて、その設定先を示します。SPFレコードには何を書きますか(書き方の基本)
送信を許可する相手を示すメカニズム(ip4、ip6、a、mx、include、exists)と、末尾のall、またはredirectのどちらか1つを、それぞれ修飾子とともに書きます。DNSに問い合わせる項目はすべて、10回の上限のうち1回を使います。
修飾子は、一致したときの意味を決めます。+ はpass(既定)、- はfail、~ はsoftfail、? はneutralです。受信サーバーは左から順に読み、最初に一致した項目で止まります。
ptrは非推奨で処理も遅いため、使わないでください。
| 項目 | 例 | DNSルックアップ | 用途 |
|---|---|---|---|
| ip4 | ip4:192.0.2.0/24 | 0 | 自社のIPv4サーバー |
| ip6 | ip6:2001:db8::/32 | 0 | 自社のIPv6サーバー |
| a | a | 1 | ドメイン自身のアドレス |
| mx | mx | 1 + 最大10個の名前 | 送信も行う受信メールサーバー |
| include | include:_spf.google.com | 1 + その中身 | 送信サービスのレコード |
| exists | exists:%{i}._spf.example.com | 1 | アドレスごとの確認(マクロ) |
| redirect | redirect=_spf.example.com | 1 | 別のドメインのレコード全体を使う |
| all | ~all | 0 | それ以外すべて(末尾) |
+pass-fail~softfail?neutralGoogle Workspace、Microsoft 365などのSPFレコード
Google Workspaceはinclude:_spf.google.com、Microsoft 365はinclude:spf.protection.outlook.comです。ほとんどのサービスはinclude:の項目を1つ公開していますが、レコードに何も追加しなくてよいものもあります。
下のコストは、各サービスの公開中のレコードで実測したもので、その中にネストしているものもすべて含みます。受信サーバーが使うのは、この数です。
「別の場所」と表示されたサービスは、自社専用のReturn-Pathか、自分のサブドメインから送信するため、SPFはそちらに置きます。
| サービス | レコードに追加する内容 | ルックアップ | 設定先 |
|---|---|---|---|
| Google Workspace | include:_spf.google.com | 1 | 自分のレコード |
| Microsoft 365 | include:spf.protection.outlook.com | 1 | 自分のレコード |
| Zoho Mail | include:zohomail.com | 2 | 自分のレコード |
| Amazon SES | include:amazonses.com | 1 | サブドメイン |
| SendGrid | include:sendgrid.net | 2 | サブドメイン |
| Mailgun | include:mailgun.org | 5 | サブドメイン |
| Mailchimp | — | — | 追加不要 |
| Brevo | — | 1 | 追加不要 |
| HubSpot | include:<HubID>.spf0N.hubspotemail.net | — | 自分のレコード |
| Salesforce | include:_spf.salesforce.com | 2 | 自分のレコード |
| Zendesk | include:mail.zendesk.com | 1 | 自分のレコード |
| Freshdesk | include:email.freshdesk.com | 7 | 自分のレコード |
| Postmark | — | 1 | 追加不要 |
| Mimecast (global) | include:_netblocks.mimecast.com | 9 | 自分のレコード |
| Proton Mail | include:_spf.protonmail.ch | 2 | 自分のレコード |
| Fastmail | include:spf.messagingengine.com | 1 | 自分のレコード |
SPFの10回のルックアップ上限とは
受信サーバーは、DNSに問い合わせる項目がネストしたincludeも含めて10個に達すると止まり、その後はすべてのメールでSPFが恒久的エラーで失敗します。空の応答を返すルックアップが3つ目になった場合も失敗します(RFC 7208)。
上限以内に戻すには、送信元を専用のレコードを持つサブドメインに移す、送信しないサーバーならaやmxを外す、ベンダーにより範囲の狭いincludeがないか尋ねる、のいずれかです。
フラット化(includeをIPアドレスに置き換えること)でルックアップは減らせますが、ベンダーがアドレスを変えた日から古くなります。毎月確認し直してください。
12 / 10 · 恒久的エラー
mx1include:spf.protection.outlook.com1include:email.freshdesk.com7include:_spf.salesforce.com2include:mail.zendesk.com1SPFの末尾は~allと-allのどちらにしますか
メールを送るドメインは~all、送らないドメインは-allにします。DMARCを強制している場合、~allならDMARCがDKIMで判断しますが、-allでは転送されたメールがDMARCの判定の前に拒否されることがあります。
M3AAWGは、送信するドメインには~all、メールを送らないドメインには-allを推奨しています。GoogleはWorkspaceで~allを案内し、MicrosoftはMicrosoft 365で-allを案内しています。
~allsoftfail受信はされるが疑わしいと判定。DMARCがDKIMで判断-allfailDKIMがパスしても、すぐに拒否されることがある?allneutralSPFがない場合と同じ扱いSPFレコードに含めなくてよい送信元はどれですか
Mailchimp、Postmark、SparkPost、Klaviyo、Shopifyのように自社専用のReturn-Pathで送信するサービスは、SPFを先方のドメインでパスします。Amazon SES、SendGrid、Mailgunは、自分の送信用サブドメインに設定します。
SPFが確認するのは、人に見えるFromのアドレスではなく、エンベロープ送信者(Return-Path)です。DMARCでは、これらのサービスはDKIMでアライメントを取るため、代わりにDKIMレコードを公開してください。
From: news@example.comReturn-Path: bounce@esp.example.netここには追加不要
自分のサブドメインに設定
1つのドメインにSPFレコードを2つ置けますか
置けません。同じ名前にv=spf1のレコードが2つあると、受信サーバーは恒久的エラーで止まり、SPFが失敗します。1つのレコードにまとめてください。
両方の送信元をすべて残し、末尾は1つにして、まとめたレコードのルックアップ数を数え直してください。それぞれは収まっていても、合わせると10回を超えることがあります。
v=spf1 include:_spf.google.com ~allv=spf1 include:spf.protection.outlook.com -all1つのレコードv=spf1 include:_spf.google.com include:spf.protection.outlook.com ~all長いSPFレコードはDNSホストでどう扱われますか
TXTの文字列は1つ255バイトまでです。それより長いレコードは複数の文字列に分割され、受信サーバーが間に何も挟まずに連結します。ほとんどのDNSホストは、自動で分割してくれます。
CloudflareとAzureは値全体を1つの欄で受け付けます。Route 53とGoogle Cloud DNSは、引用符で囲んだ255バイトの文字列を求めます。RFC 7208は、応答全体を450バイト未満に抑えるよう求めています。
v=spf1 ip4:198.51.100.1 ip4:198.51.100.2 ip4:198.51.100.3 ip4:198.51.100.4 ip4:198.51.100.5 ip4:198.51.100.6 ip4:198.51.100.7 ip4:198.51.100.8 ip4:198.51.100.9 ip4:198.51.100.10 ip4:198.51.100.11 ip4:198.51.100.12 ip4:203.0.113.20 ip4:203.0.113.21 ip4:203.0.113.22 ip4:203.0.113.23 ip4:203.0.113.24 include:_spf.google.com ~allexample.com. 3600 IN TXT ( "v=spf1 ip4:198.51.100.1 ip4:198.51.100.2 ip4:198.51.100.3 ip4:198.51.100.4 ip4:198.51.100.5 ip4:198.51.100.6 ip4:198.51.100.7 ip4:198.51.100.8 ip4:198.51.100.9 ip4:198.51.100.10 ip4:198.51.100.11 ip4:198.51.100.12 ip4:203.0.113.20 ip4:203.0.113.21 ip4:203" ".0.113.22 ip4:203.0.113.23 ip4:203.0.113.24 include:_spf.google.com ~all" )
SPFレコード作成ツールのよくある質問
SPFレコードとは何ですか
Google WorkspaceのSPFレコードはどう書きますか
Microsoft 365のSPFレコードはどう書きますか
SPFレコードを2つ設定できますか
SPFレコードのルックアップが10回を超えるとどうなりますか
~allと-allはどちらを使うべきですか
サブドメインにも専用のSPFレコードが必要ですか
SPFレコードはどこに追加しますか
SPFのフラット化とは何ですか。使うべきですか
SPFレコード作成ツールは無料ですか。何かが当サイトのサーバーに送られますか
足りないものはありますか?機能や新しいツールを提案する
関連ツール
DMARCレコード作成ツール
現在公開しているレコードをもとに、RFC 9989に沿ったDMARC設定(DMARCレコード)を作成し、認証に失敗したメールを受信サーバーがどう扱うかを確認できます。
DKIMレコード作成・鍵生成ツール
ブラウザ内でDKIM鍵ペアを作成し、公開用の selector._domainkey TXTレコードを取得
SPFレコードチェッカー
SPFレコードの検証とRFC 7208に基づくDNSルックアップ数を確認
DMARCチェッカー
ドメインのDMARCポリシーとアライメント設定を確認
DKIMチェッカー
セレクター自動検出付きでDKIMレコードを検証
MX検索
メール交換レコードとメールサーバーの詳細を検索
メールヘッダー解析
メールヘッダーを解析してメールの経路を追跡
BIMIレコードチェッカー
BIMIレコード、SVG Tiny PSのロゴ、VMC証明書を検証し、ロゴが表示される受信トレイも確認





