SPFレコードとは?書き方・設定手順・確認方法を徹底解説!

「SPFレコードって何?」「どうやって設定すればいいの?」
そんな疑問をお持ちではありませんか?
SPFレコード(Sender Policy Framework)とは、メールの送信元を証明するための仕組みで、なりすましメールやスパムメールの防止に欠かせないDNS設定の一つです。
実際、GmailやOutlookなど主要なメールサービスでは、SPF設定が正しくないとメールが拒否されやすくなっています。
そのため、企業や個人事業主の方にとっても、メールの到達率を高めるためにSPFレコードの正しい設定は必須と言えるでしょう。
本記事では、SPFレコードとは何か、正しい書き方や設定手順、確認方法まで初心者の方にもわかりやすく解説します。
メール配信トラブルを未然に防ぎたい方は、ぜひ最後までご覧ください。
SPFレコードの設定方法についてすぐに知りたい方は「SPFレコードの確認・設定方法」をご確認ください。
SPFレコードとは
SPF(Sender Policy Framework)レコードとは、メール送信元のドメイン認証の一つです。
SPFレコードは、メールを送信する際、送信元サーバーとDNS(Domain Name System)上のIPアドレスを比較します。この比較を通じて、メールが正規のサーバーから送信されたものであることを確認できます。
SPFレコードによってメールが正規のサーバーから送られているかを判断できるので、迷惑メールかどうかを選別することができます。
例えば、自社から取引先に送信したメールにSPFレコードを設定していない場合、相手側のメールサーバーで迷惑メールと判断され、受信トレイに届かない可能性もあります。
電子メールは会社やビジネスシーンにおいて主要な連絡手段となっているため、「送ったはずのメールが届かない」という問題が発生したらぜひSPFレコードの設定を見直してみてください。
DNSとは何かや設定方法について詳しく知りたい方は、こちらの記事もあわせてご覧ください。
メールが届かない・受信しない原因と解決方法については以下の記事でも詳しく解説しています。
SPFレコードの仕組み

SPFレコードの仕組みについて上記の図解でわかりやすくまとめました。
SPFレコードを設定すると、メールを受信したサーバーは、送信元ドメインに紐づけられたIPアドレスとSPFレコードの情報を照合します。
確認される項目は、以下の2つです。
- 送信元ドメインに登録されたIPアドレス
- SPFレコードに記載された送信許可IPアドレス
この2つのIPアドレスが一致していれば、認証は成功です。
つまり、送信されたメールが正しいメールアドレスから送信されたことを証明でき、相手の受信トレイに正常に届く可能性が高くなります。
一方で、SPFレコードが登録されていなかったり、設定に誤りがあると、送信したメールが迷惑メールとして振り分けられてしまう恐れもありますので、十分ご注意ください。
SPFレコードとDKIM/DMARCとの違い
SPFレコードと似た仕組みに、DKIMやDMARCという技術があります。
これらはいずれもフィッシング詐欺やスパムメールなどの「なりすまし」対策を目的としたセキュリティ認証技術ですが、それぞれの機能には違いがあります。
以下の比較表に、SPF・DKIM・DMARCの特徴を比較してまとめました。
| 認証技術 | 主な役割 | 動作のイメージ |
|---|---|---|
| SPFレコード | 送信元IPアドレスの正当性を確認 | 許可された住所(IP)から送られたかをチェック |
| DKIM | メール内容の改ざんがないかを確認 | 途中で内容が書き換えられていないかを検証 |
| DMARC | SPF/DKIMの結果に基づき処理を決定 | 認証に失敗したメールへの対応を指示するポリシー |
DKIM(DomainKeys Identified Mail)は、送信されたメールの内容が途中で改ざんされていないかを検証する技術です。
SPFが「送信者(IPアドレス)が正しいか」を判定するのに対し、DKIMは「本文やヘッダーが送信中に変更されていないか」を確認します。
一方、DMARC(Domain-based Message Authentication, Reporting, and Conformance)は、SPFとDKIMの結果をもとに、不正なメールをどのように処理するかを指示するポリシーです。
DMARCは、SPFとDKIMという個別の認証結果を統合し、「認証に失敗したメールは拒否する/隔離する/受信する」といった具体的な対応方針をメールサーバー側に伝える統制的な仕組みです。
SPFとDKIMが個別の認証方式であるのに対し、DMARCはその結果を活用して最終的な対応方針を決定する仕組みです。
DKIMとDMARCに関する詳しい仕組みは、以下の記事で詳しく解説しています。
SPFレコードの構成要素
SPFレコードの構成要素としては、以下の4つがあります。
- バージョン番号
- 機構(メカニズム)
- 限定子
- 修飾子
専門的な内容になるので、最初は「SPFレコードは、こんな構成要素でできているんだ。」程度の理解で大丈夫です。
ただSPFレコードがどのような仕組みになっているのかを理解するためには必要な知識のため、それぞれの構成要素について解説していきます。
バージョン番号
SPFレコードの記述は、「バージョン番号」から書き始めます。
SPFレコードの記述は、必ずバージョン番号「v=spf1」から始めるというルールがあります。
これはSPFの仕様で定められており、他の形式(例:v=spf1.0 や v=spf2 など)を使うと、メールサーバーで正しく認識されず、エラーの原因となるため注意が必要です。
特別な理由がない限り、「v=spf1」だけを使用するのが原則と覚えておきましょう。
機構(メカニズム)
SPFレコードでは、バージョン番号(例:v=spf1)に続いて、「機構(メカニズム)」を記述します。
この「機構」には、メールを送信するサーバーの情報や許可する条件を指定します。
複数の機構を記述することができ、左から順番に評価される点が特徴です。
以下に、SPFレコードでよく使われる主な機構の種類と意味をまとめました。
| 機構 | 意味 |
|---|---|
| a | ドメイン名を指定する。ドメインのAレコードでIPアドレスが一致すれば認証する。 |
| include | 他のドメインを指定し、そのドメインのSPFレコードによる認証に委任します。 |
| mx | ドメインのMXレコード(メールサーバー)でIPアドレスが一致すれば認証する。 |
| ptr | 指定したドメインのPTRレコード(逆引きDNS)により、認証が可能であれば許可されます。※現在は非推奨 |
| all | すべての送信元を対象とします。通常、SPFレコードの末尾に記述され、他の機構にマッチしない場合の扱いを定義します。 |
| ip4/ip6 | 指定されたIPv4またはIPv6アドレスと送信サーバーのIPアドレスが一致すれば認証されます。 |
SPFレコードでは、以下のように複数の「機構(メカニズム)」を組み合わせて記述することが一般的です。
v=spf1 ip4:192.0.2.1 include:example.com mx -all
書き方の具体例やパターンについては、このあと詳しくご紹介しますので、併せて参考にしてください。
限定子
限定子(クォリファイア)とは、SPFレコードにおいて、認証処理の結果に応じて、受信サーバーがどのようにメールを扱うかを定義する記号です。
機構によって照合が確認できたときに、どのような処理を行うのかを設定します。
各機構(メカニズム)の前に記述し、照合が成功した場合にどのような動作を行うかを指定します。
たとえば、同じIPアドレスでも、限定子の違いによって「受信する/拒否する/一応受信する」など挙動が変わります。
SPFレコードで使用される主な限定子の種類についてまとめました。
| 限定子 | 処理内容 | 説明 |
|---|---|---|
+(プラス) | 許可 | 正常なメールとして処理します(デフォルトで省略可) |
-(マイナス) | 拒否 | 不正なメールとして拒否します(Fail) |
~(チルダ) | ソフト拒否 | 不正なメールとして扱いますが、配送はされる可能性があります(SoftFail) |
?(クエスチョン) | 中立 | SPFによる指定なしとして扱われ、特に制限はかかりません(Neutral) |
▼よく使われる記述例
v=spf1 ip4:192.0.2.1 -all
この例では、指定したIPアドレスからの送信のみを許可し、それ以外からの送信はすべて拒否する設定です(-all)。
「+ 」は省略可能なため、「ip4:〜」 などとだけ書かれている場合も、それは「 +ip4:〜 」と同じ意味になります。
実運用では「 -all」(厳格)、「~all」(緩め)を状況に応じて使い分けます。
受信サーバー側の挙動は、SPF結果とそのポリシー設定によって異なる場合があります。
修飾子
修飾子(modifier)とは、SPFレコードにおいて、より詳細な制御や補足情報を追加するための要素です。
主に、認証結果に基づく追加アクションや、他ドメインへの参照などを設定できます。SPFレコードで一般的に利用される修飾子は redirect と exp の2種類です。
また、修飾子は1つのレコード内でそれぞれ1回ずつ使用するのが推奨されており、通常はレコードの最後に記述されます。
よく使われる修飾子一覧を以下にまとめました。
| 修飾子 | 機能 | 説明 |
|---|---|---|
| redirect | リダイレクト | 他のドメインのSPFレコードを適用します。同一ポリシーを複数ドメインに適用したい場合に便利です。 |
| exp | エラーメッセージ表示 | SPF認証が失敗した場合に、指定した説明文を返すことができます(主に診断用)。 |
▼使用例
v=spf1 include:spf.example.com -all redirect=_spf.otherdomain.com
この例では、「_spf.otherdomain.com 」のSPFレコードを参照するよう指示しています。
「-all 」などの評価結果が出なかった場合に、「redirect 」が適用されます。
- 「
redirect」 と「include」 は似ていますが、includeは部分的な条件追加、redirectは完全な委任という違いがあります。 - 「
exp」はエラー時に人間が読める説明を提供するためのもので、実際のメール配送には影響しません。
修飾子はあまり多用されるものではありませんが、複数ドメインで統一ポリシーを設定したい場合や、SPF診断を明確にしたい場合に非常に有効です。
SPFレコードの正しい書き方
SPFレコードの正しい書き方について、以下の項目に分けて解説します。
- 基本的な記述方法
- FQDN(ホスト名+ドメイン名)を用いた指定方法
- ネットワーク範囲での指定方法
- サブドメインごとの個別設定
- 複数の送信元を1つのSPFレコードにまとめる方法
最初に基本的な記述方法を示し、その後に代表的な設定例を紹介します。
自社のメール送信環境に合わせて調整する際の参考資料としてご活用ください。
SPFレコードの基本的な書き方
SPFレコードの正しい書き方は以下の通りです。
ドメイン IN TXT 【バージョン番号】【限定子】【機構】【IPアドレス】
SPFレコードの正しい書き方はこの形式が基本ですが、これだけでは具体的な書き方がイメージしづらいため、以下に記述例と詳細な解説を紹介します。
〇〇.com IN TXT v=spf1 ip4:172.16.0.1 -all
この記述は、「〇〇.com」ドメインでは、IPアドレス「172.16.0.1」から送信されたメールのみを認証し、それ以外はすべて拒否するという意味になります。
| 記述 | 意味 |
|---|---|
| example.com | SPFレコードを設定する対象のドメイン名を示します。 |
| IN TXT | このレコードがインターネット用のTXTレコードであることを示します。 |
| v=spf1 | SPFバージョン1を使用することを示します。 |
| ip4:172.16.0.1 | IPv4アドレス「172.16.0.1」からのメール送信を許可することを示します。 |
| -all | 指定されたIPアドレス以外からの送信はすべて拒否されます。 |
実際にSPFレコードを設定する際には、上記の記述例を参考にしてみてください。
また、1つのドメインに複数のSPFレコードを設定できません。
FQDN(ホスト+ドメイン名)での書き方
IPアドレスではなくFQDN(ホスト名+ドメイン名)でSPFレコードを指定する場合、DNSのTXTレコードとして次のように設定します。
example.com IN TXT "v=spf1 a:www.example.com ~all"
この設定は、www.example.com のAレコードに登録されたIPアドレスからのメール送信を許可するという意味です。
各要素の意味を一覧表に整理しました。
| 記述 | 意味 |
|---|---|
| example.com | SPFレコードを設定する対象のドメイン名を示します。 |
| IN TXT | このレコードがインターネット用のTXTレコードであることを示します。 |
| v=spf1 | SPFバージョン1を使用することを示します。 |
| a:www.example.com | www.example.comのAレコードに登録されているIPアドレスからのメール送信を許可する。 |
| ~all | 上記以外のすべての送信元はSoftFail(受信は可能だが警告)として扱う |
この設定は、Webサーバーとメールサーバーを同一ホスト(www.example.com)で運用している場合に適しています。
ネットワーク指定での書き方(CIDR形式)
メール送信を担当するホストが属するネットワークを、CIDR形式で指定する方法は次のとおりです。
example.com IN TXT "v=spf1 ip4:192.168.10.0/28 ~all"
この例では、192.168.10.0 から 192.168.10.15 までの 16個のIPアドレスを許可する 設定です。
各項目の意味を以下の一覧表に整理しました。
| 記述 | 意味 |
|---|---|
| example.com | SPFレコードを設定する対象のドメイン名を示します。 |
| IN TXT | このレコードがインターネット用のTXTレコードであることを示します。 |
| v=spf1 | SPFバージョン1を使用することを示します。 |
| ip4:192.168.10.0/28 | CIDR表記で、192.168.10.0 から 192.168.10.15 までの16個のIPアドレスがメール送信を許可される。 |
| ~all | 上記で指定されたIPアドレス範囲以外の送信元は、すべてSoftFailされます。 |
この設定は、個々のIPアドレスを一つずつ指定する必要がなく、複数のサーバーが同じネットワークに属している場合に有効な方法です。
サブドメインへの個別指定の書き方
メインドメインにSPFレコードを設定しても、サブドメインには自動的に反映されません。
そのため、サブドメインからメールを送信する際には、個別にSPFレコードを定義する必要があります。サブドメインは自動的にメインの設定を継承しません。
example.com IN TXT "v=spf1 ip4:192.168.10.1 -all"
shop.example.com IN TXT "v=spf1 ip4:192.168.10.2 -all"
各項目の意味は、以下の一覧表に整理しました。
| 記述 | 意味 |
|---|---|
| example.com shop.example.com | SPFレコードを設定する対象のドメイン名を示します。 |
| IN TXT | このレコードがインターネット用のTXTレコードであることを示します。 |
| v=spf1 | SPFバージョン1を使用することを示します。 |
| ip4:192.168.10.1 ip4:192.168.10.2 | ドメイン(サブドメイン)からのメール送信を許可するIPアドレスを示します。 |
| -all | 指定されたIPアドレス以外からの送信はすべて拒否されます。 |
DNSの仕組み上、サブドメインはメインドメインとは別の要素として扱われます。
そのため、サブドメインから送信されるメールは、そのサブドメインに設定されたSPFレコードが参照されます。
適切なSPFレコードが設定されていない場合、受信側でスパムと判定されるリスクが高まるので注意が必要です。
複数の送信元を1つのSPFレコードにまとめる方法
2つ以上のSPFレコードが存在すると応答によって順序が入れ替わることがあり、意図とは違う動作が起こる可能性があります。
例えば、下記のように複数のSPFレコードを設定したい場合。
example.jp IN TXT "v=spf1 ip4:172.16.0.1 ~all"
example.jp IN TXT "v=spf1 ip4:172.16.0.2 ~all"
下記のように記述すればエラーは起こりません。
example.jp IN TXT "v=spf1 ip4:172.16.0.1 ip4:172.16.0.2 ~all"
各記述の意味について、以下の表にまとめました。
| 記述 | 意味 |
|---|---|
| example.jp | SPFレコードを設定する対象のドメイン名を示します。 |
| IN TXT | このレコードがインターネット用のTXTレコードであることを示します。 |
| v=spf1 | SPFバージョン1を使用することを示します。 |
| ip4:172.16.0.1 ip4:172.16.0.2 | IPv4アドレスの「172.16.0.1」「172.16.0.2」からのメール送信を許可します。 |
| ~all | 上記で指定されたIPアドレス以外からのメールは、SoftFailとして扱われます。 |
もし1つのドメインに複数のSPFレコードを設定したい場合には、上記のように1行でまとめるようにしましょう。
SPFレコードが設定されているかを確認する方法
SPFレコードが正しく設定されているかどうかは、コマンドラインツールまたはWebサービスを使って簡単に確認できます。
ドメインにSPFレコードが設定されているかを確認する方法は以下の通りです。
| OS | 手順 |
|---|---|
| Windows | コマンドプロンプトを開き、「nslookup -type=TXT 調べたいドメイン」を入力してエンターキーをクリックする |
| Mac | ターミナルを開き、「dig txt 調べたいドメイン」を入力してエンターキーをクリックする |
コマンドプロンプトやターミナルを使う必要があるので少し難しいですが、上記の方法でSPFレコードを確認することが可能です。
出力結果の中に v=spf1 ~ などの文字列が含まれていれば、SPFレコードが設定されていることを意味します。
逆に、この記述が見つからない場合は、SPFレコードが未設定である可能性が高いため注意が必要です。
コマンド操作に慣れていない場合でも、以下に紹介するWeb上の無料ツールを使えば簡単に確認できます。
企業や自社ドメインでのメール運用においては、定期的な確認と見直しが重要です。
SPFだけでなく、DKIMやDMARCとの連携確認も同時に行うと、セキュリティ対策としてより効果的です。
次の項目ではSPFレコードの設定方法について解説していきます。
SPFレコードの設定を変更する方法
ドメインのSPFレコードを変更したい場合は、DNS設定画面から該当レコードを編集する必要があります。
ここでは、バリュードメインでの設定変更手順を例に解説します。
- 「ドメイン」>「ドメインの設定操作」をクリックする
- 対象ドメイン横にある「DNS/URL」アイコンをクリックする
- 表示された画面に「txt」から始まるSPFレコードがあるのを確認する
- 表示された「txt」から始まるSPFレコード設定を修正する
- 「保存」をクリックして設定完了
上記の手順に沿って設定を行えば、ドメインのSPFレコード設定変更を行うことが可能です。
バリュードメインなら、管理画面からクリック操作だけでSPFレコードの追加・変更が可能。
専門知識がなくても、マニュアル通りに進めるだけで簡単に設定できます。
DNSの設定に慣れていない初心者の方でも安心して操作できるのが、バリュードメインの強みです。
SPFレコードの設定マニュアルはこちら(公式ガイド)>>まずはバリュードメインの管理画面にログイン後、左メニューの「ドメイン」>「ドメインの設定操作」をクリックしてください。

続いて、SPFレコードを変更したいドメインの横にある「DNS/URL」アイコンをクリックします。

表示された画面に、「txt」から始まるSPFレコードが記述されているのが確認できるでしょう。

表示されたSPFレコードを必要があれば修正していきましょう。
修正後に下スクロールした先にある「保存」ボタンをクリックして設定完了です。

SPFレコードの設定が完了したら、テストメールを送信するなどして正しく設定が反映されているかどうかを確認するようにしましょう。
設定変更後は、反映に最大24〜72時間程度かかる場合があります(DNS伝播)
もしメールが届かないなどの不具合が発生するのであれば、再度SPFレコードの設定をやり直すなどの対応をしましょう。
SPFレコードのよくある間違った書き方
SPFレコードの間違った書き方として、よくある例を以下にまとめました。
- バージョンが間違っている
- 機構(メカニズム)が省略されている
- 1つのドメインに対してSPFレコードが複数行存在している
- 必要なスペースが抜けている
- redirectやincludeの参照先がない
- redirectやincludeがループしている
SPFレコードの記述をする際には、上記の間違いをしていないかを確認するようにしてください。
ここからそれぞれの項目について、1つずつ解説していきます。
バージョンが間違っている
SPFレコードで最も多い誤りのひとつは、バージョン指定を間違えることです。
SPFレコードは必ず「v=spf1」で始まらなければなりません。この記述が欠けていたり誤っていた場合、受信サーバーはSPFレコードとして認識できなくなります。
- バージョン指定がない
ip4:203.0.113.100 -all - バージョンが正しくない
v=spf2.0 ip4:203.0.113.100 -all - スペルを誤っている例
ve=spf1 ip4:203.0.113.100 -all
v=spf1 ip4:203.0.113.100 -all
SPFレコードの冒頭には、必ず正確に「v=spf1」を記載する必要があります。
機構(メカニズム)が省略されている
SPFレコードでよくある誤りの一つに、メール送信元を許可する機構(メカニズム)を省略してしまうケースがあります。
機構を省略すると、SPFレコードが何を参照すべきか判断できなくなります。
v=spf1 -all
このレコードには「何を許可する情報」も含まれていないため、正規のメールサーバーから送られたメールであっても、受信側ではスパムとして扱われる、または完全に拒否されます。
v=spf1 ip4:203.0.113.100 -all
SPFレコードは「バージョン」「許可対象」「デフォルトルール」の三要素を備えて構成することが求められます。
1つのドメインに対してSPFレコードが複数行存在している
SPFレコードの誤った設定例のひとつに、1つのドメインへ複数のSPFレコードを登録してしまうケースがあります。
受信サーバーはSPFチェックを行う際、対象ドメインのDNS設定を確認します。その際に複数のSPFレコードが存在すると、RFC7208で定められたSPFの標準仕様に違反すると判断され、「PermError (Permanent Error)」を返します。
このエラーが発生すると、受信サーバーは送信元が正当かどうかを判定できず、メールをスパムとして扱うか、完全に拒否します。
example.com IN TXT "v=spf1 ip4:203.0.113.100 -all"
example.com IN TXT "v=spf1 include:_spf.google.com ~all"
上記の例では「example.com」に対して2つのSPFレコードが登録されており、受信サーバーはどちらを採用すべきか判断できません。
example.com IN TXT "v=spf1 ip4:203.0.113.100 include:_spf.google.com ~all"
SPFレコードは1つのレコード内に「include」や「ip4」などの機構(メカニズム)を並べて記述する必要があります。
必要なスペースが抜けている
SPFレコードでよく見られる誤りの一つに、必要なスペースを省略してしまうケースがあります。
バージョン、機構、修飾子といった各要素は、必ず半角スペースで区切らなければなりません。
スペースが抜けていると、受信サーバーはその部分を一つの長い文字列として認識し、構文を正しく解析できなくなります。
その結果、「PermError (Permanent Error)」のエラーが返され、メールはスパムとして扱われる、または受信拒否されるリスクが高まります。
v=spf1ip4:203.0.113.100-all
v=spf1 ip4:203.0.113.100 -all
SPFレコードの各要素の間は、必ず半角スペースで区切る必要があります。
includeやredirectの参照先がない
SPFレコードでよく見られる誤りの一つに、「include」や「redirect」で指定した参照先が有効なSPFレコードを持っていない、あるいはドメイン自体が存在しないケースがあります。
| include | 指定したドメインのSPFレコードの内容を取り込んで、現在のレコードの一部として評価する。 |
|---|---|
| redirect | 指定したドメインのSPFレコードを代わりに参照する。 |
「include」や「redirect」で指定したドメインにSPFレコードが存在しない、またはドメイン自体が無効な場合、SPFの評価は失敗し「PermError (Permanent Error)」のエラーが返されます。
v=spf1 include:nonexistent-domain.com ~all
この例では、架空のドメイン「nonexistent-domain.com」を参照しており、SPFレコードが存在しないためSPFチェックは失敗します。
v=spf1 include:_spf.google.com ~all
こちらは、Googleが管理するドメイン「_spf.google.com」を参照しています。
SPFレコードを設定する際には、「include」や「redirect」で指定した参照先が正しいかどうかを必ず確認する必要があります。
includeやredirectがループしている
SPFレコードで「include」や「redirect」を使用する際、参照が無限ループに陥るのはSPFチェックの失敗につながる誤りです。
「include」や「redirect」を利用すると他のドメインのSPFレコードを参照できますが、参照先が元のドメインを再参照するよう設定されている場合、評価が永久に繰り返されます。
- example.jp のSPFレコードが redirect=example.com を指定
- example.com のSPFレコードが redirect=example.jp を指定
この設定では、受信サーバーが「example.jp」のSPFを評価しようとすると「example.com」を参照し、さらに「example.com」を評価すると再び「example.jp」に戻るループが発生します。
SPFの仕様では、「include」や「redirect」のようにDNSルックアップを伴うメカニズムの回数を最大10回までと厳しく制限しており、これを超えると「PermError (Permanent Error)」のエラーで失敗します。
SPFレコードを設定する際には、「include」や「redirect」の参照先が自身のドメインや既に参照している他のドメインへ戻らないよう、必ず確認する必要があります。
SPFレコードに関するQ&A
SPFレコードについて、よくある質問は以下のとおりです。
- Gmailへメールが届かないときのSPFレコード設定方法は?
- SPFレコードの文法をチェックできるサイトは?
- SPFレコードの -all と ~allの違いは?
- TXTレコードとSPFレコードの違いは?
- SPFレコードとMXレコードの違いは?
ここから、それぞれの疑問について詳しく解説していきます。
Gmailへメールが届かないときのSPFレコード設定方法は?
Gmailへのメール配信が届かないという問題を抱えているのであれば、SPFレコードを追加する必要があります。
SPFレコードを記述していないと、Gmail側で「このメールアドレスから送信されたメールは認証されていない」と判断されてしまうからです。
2022 年 11 月以降、個人用 Gmail アカウントにメールを送信する新規の送信者は、SPF または DKIM を設定する必要があります。Google では、新規の送信者から個人用 Gmail アカウント宛てのメールをランダムにチェックして、認証されたメールであることを確認します。認証方法が一つも設定されていないメールは、5.7.26 エラーで拒否されるか、迷惑メールに分類されます。
Google Workspace 管理者ヘルプ
Google Workspaceのヘルプページにも上記のような表記があり、SPFレコードを設定していないと迷惑メールに分類される可能性があります。
Gmail(Google Workspace)を利用している場合は、以下のようにSPFレコードを記述します。
v=spf1 include:_spf.google.com ~all
また、Gmailと自社サーバーの両方からメールを送信する場合、両方の送信元を1つのSPFレコードにまとめます。
v=spf1 include:_spf.google.com ip4:203.0.113.100 ~all
バリュードメインを例にSPFレコードの確認・設定方法を解説しているので、こちらを参考に設定を行ってみてください。
Gmailが届かない原因や解決方法について、下記で詳しく解説していきます。あわせてご覧ください。
SPFレコードの文法をチェックできるサイトは?
SPFレコードの文法をチェックできるサイトは、以下のとおりです。
これらのサイトでは、ドメイン名を入力するだけでSPFレコードの有効性をチェックし、構文エラーやDNSルックアップ回数超過などの問題を指摘してくれます。
DNSへの登録前や、登録後のSPFレコードに間違いがないかを確認する際には、上記のサイトを利用してください。
SPFレコードの -all と ~allの違いは?
SPFレコードの「-all」と「~all」の違いを以下の比較表に整理しました。
| -all(Fail) | ~all(SoftFail) | |
|---|---|---|
| ポリシー | 厳格 | 比較的緩やか |
| 動作 | 記載外の送信元を拒否する | 記載外の送信元をスパムとして扱う |
| 安全性 | 高い | 比較的低い |
| リスク | 正規のメールも拒否される可能性がある | 正規のメールもスパムと判断される可能性がある |
「-all」と「~all」はいずれも、SPFレコードに記載されていない送信元からのメールをどのように扱うかを定義するデフォルトポリシーです。
「-all(Fail)」は最も厳格な方式で、SPFレコードに含まれない送信元からのメールは明確に拒否されます。なりすましを強力に防止できますが、正規のメールが一時的なエラーなどでSPFチェックに失敗した場合、受信者に届かなくなるおそれがあります。
「~all(SoftFail)」は「スパムとして処理する」ことを意味し、SPFレコードに記載されていない送信元からのメールは、受信サーバーによって疑わしいメールとして扱われます。
初期段階では「~all」を設定して状況を確認し、送信元の環境が把握できた段階で「-all」に移行するのが望ましい運用です。
TXTレコードとSPFレコードの違いは?
TXTレコードとSPFレコードの違いを以下の比較表に整理しました。
| TXTレコード | DNSレコードの一種。 ドメインに関連付けることができる自由なテキスト情報を格納するために使用する。 |
|---|---|
| SPFレコード | TXTレコードの中に入れる特定の情報。 メールのなりすましを防ぐために使用される、特別な形式のテキストデータ。 |
TXTレコードは「箱」に例えられる入れ物で、その中にメール認証情報やウェブサイトの所有権確認コードなどを格納できます。
SPFレコードはTXTレコード内に含める内容であり、メール認証専用の形式で記述されたテキストです。
SPFレコードは必ずTXTレコードとして定義されるため、この関係をあわせて理解しておくことが重要です。
SPFレコードとMXレコードの違いは?
SPFレコードとMXレコードはいずれもメール関連のDNSレコードですが、それぞれ役割が異なります。
| MXレコード | SPFレコード | |
|---|---|---|
| 役割 | メールの受信場所を指定する | メールの送信元を認証する |
| 目的 | メールを正しく送信する | なりすましメールを防止する |
| 形式 | mail.example.comなどのホスト名 | v=spf1 ...という特定の構文 |
MXレコード (Mail Exchanger Record) は、メールの受信先を示すレコードです。特定のドメイン宛のメールがどのサーバーに送信されるかを指定します。送信側のサーバーは、最初にMXレコードを参照して相手の受信サーバーを特定し、メールを配送します。
SPFレコード (Sender Policy Framework Record) は、メールの送信元を示すレコードです。特定のドメインから送信を許可されたサーバーの一覧を公開します。受信側のサーバーは、届いたメールの送信元がSPFレコードに登録された正規のサーバーかを確認し、不正送信やなりすましを防ぎます。
MXレコードとは何か、役割や確認方法は以下の記事でも詳しく解説しています。
まとめ:SPFレコードとはメールの送信元を確認するための技術
ここまでSPFレコードとはどのような仕組みなのか?設定方法や正しい書き方について解説してきました。
SPFレコードとは送信元サーバーとDNS上のIPアドレスを比較し、正規サーバーからの送信であることを示すドメイン認証技術の一つです。
特にGmailアドレスへメールを送信する場合にSPFレコードを設定していないと迷惑メールと認識されてしまうことが多いです。
「送ったはずのメールが相手に届いていない!」と悩んでいる人は、ぜひ本記事の内容を参考にSPFレコードの設定を見直してみてください。
迷惑メールやメール不達の対策を本格的に進めたい方には、セキュリティ強化済みのメール環境を提供する「core_text」がおすすめです。
- SPF/DKIM/DMARC設定に対応
- 無料SSL・ウイルス対策機能を標準搭載
- 独自ドメインのメール設定もかんたん!
ドメイン管理はバリュードメイン、メール・Web運用はコアサーバーを組み合わせれば、迷惑メール対策と安定した運用環境をワンストップで整えられます。
ドメインが実質0円(年間最大3,882円お得)になるサーバーセット割特典
を展開中です。
最新のキャンペーンはこちらから
ドメイン・サーバー同時契約でドメイン費用永久無料(年間最大3,124円お得)
是非、お得なこの機会にご利用ください。最新のキャンペーンはこちらから

GMOデジロック インフラエンジニア
ボケもツッコミも下手な関西人。Windows98で動作するWebサーバーを使用した自宅サーバー構築から初めて、紆余曲折を経て今に至る。
▽登壇実績
https://ct-study.connpass.com/event/55305/
https://gmohoscon.connpass.com/event/102401/














目次へ