Google WorkspaceのSPFレコード設定・確認方法。既存SPFへの統合とspf=passの確認まで
目次
- SPFレコードとは
- 手順1:自社ドメインのメール送信元をすべて洗い出そう
- 手順2:現在のSPFレコードを確認しよう
- 手順3:登録するSPFレコードの値を決めよう
- Google Workspaceだけで送信する場合
- 外部サービスからも送信する場合(既存レコードへの統合)
- 手順4:DNSにSPFレコードを登録しよう
- 手順5:SPF認証に合格しているか確認しよう(spf=pass の確認)
- 1. DNSにSPFレコードが公開されているか確認する
- 2. テストメールのヘッダーで spf=pass を確認する
- SPF・DKIM・DMARCの関係
- SPFを設定してもメールが届かない場合
- まとめ – SPFは送信元を洗い出してから1レコードで設定しよう
こんにちは。
今回は、Google Workspaceで忘れがちなメール設定である「SPFレコード設定」についてご紹介します。
送ったメールが相手に届かなかったり、迷惑メールに入ってしまう場合、原因のひとつとしてSPFレコードが未設定・設定誤りになっていることが考えられます(到達性はSPFだけで決まるものではないため、他の要因は記事後半で整理します)。
- 設定前に「自社ドメインからメールを送っているサービス(送信元)」をすべて洗い出す方法
- SPFレコードは1ドメインに1つだけ。既存のSPFレコードがある場合は、新しく追加せず既存レコードに統合する
- Google Workspaceだけで送信する場合の値
v=spf1 include:_spf.google.com ~all - 反映には最大48時間ほどかかる場合があること、テストメールのヘッダーで
spf=passを確認して完了とすること - SPF・DKIM・DMARCの関係と、Gmail宛ての送信量による要件の違い
なお、同じ用途の設定として「DKIM認証」という方法もあります。Google公式はSPFに加えてDKIMとDMARCの設定も推奨しているため、今回ご紹介するSPFレコードとセットで設定しておくことをおすすめします。DKIM認証方法はこちらの記事をご覧ください。
DKIM認証を設定してGoogle Workspaceのメール到達率を上げよう
SPFレコードとは
SPF(Sender Policy Framework)レコードとは、メールが本当にそのドメインから送られてきたものかどうか、つまり「なりすましメールかどうか」を判断する仕組みです。
相手のログイン情報や、クレジットカード情報を盗み取るフィッシングメールを始めとするスパムメールは、送信元のメールアドレスを改ざんして、あたかもそのドメインのメールであるかのようになりすましてメールを送信してきます。
SPFレコードが設定されていないと、あなたの(受信)メールサーバーは、本当にそのメールがそのサービスから送信されてきたのかどうか解りません。
下記は、SPFレコードが設定されていない場合のメール送信のイメージです。
鈴木さん(suzuki@aaa.com)から、本物のメールが送られるケース(青)と、スパムメールが送られるケース(赤)で記載しています。スパムメールは偽物のメールサーバーから相手の(受信)メールサーバーに送信していますが、受信メールサーバーでは、相手サーバが本物か偽物かわからないため、スパムメールも受け取ってしまっています。
Googleなどの強力な迷惑メールフィルタを備えた受信メールサーバーである場合、SPFレコードが設定されていなくても、タイトルやメールの文面からスパムメールと判断してくれる場合もあります。
SPFレコードは、Google Workspaceのドメイン所有権の確認のように、DNSの特性を利用して、そのメールドメインの送信メールサーバーを特定できるようにしておく技術です。
以下は、SPFレコードが設定されているイメージです。受信メールサーバーでは、鈴木さんのメールドメインである「aaa.com」のSPFレコードを参照して、aaa.comのメールサーバーのIPアドレスを確認し、送信メールサーバーがそのIPアドレスでなければメールをブロックしたり、迷惑メールフォルダに格納することができます。
手順1:自社ドメインのメール送信元をすべて洗い出そう
SPFレコードには、自社ドメインのアドレスを差出人としてメールを送るすべての送信元を含める必要があります。Google Workspaceだけを登録して、他の正当な送信元を書き漏らすと、そのサービスから送ったメールがSPF認証に失敗し、迷惑メール扱いされるおそれがあります。
SPFレコードの値を決める前に、次のような送信元がないか確認しましょう(Google公式ヘルプが挙げている例をもとにしています)。
- Google Workspace(Gmail)
- Webサイトのサーバー(お問い合わせフォームの自動返信・通知メールなど)
- オンプレミスのメールサーバー(Microsoft Exchangeなど)
- レンタルサーバー・ホスティングサービスのメールサーバー
- 送信ゲートウェイ(メール誤送信防止・アーカイブサービスなど)
- メール配信・MA・CRMなど、自社ドメインのアドレスで自動送信する外部サービス(メルマガ配信、Salesforce、予約・決済システムなど)
送信元がGoogle Workspaceだけであれば、この記事で紹介する基本の値をそのまま使えます。外部サービスからも送信している場合は、各サービスの公式ヘルプで「SPFに追加する値(include: の値やIPアドレス)」を確認しておきます。判断がつかない場合は、社内のシステム担当者や、各サービスの提供元に確認しましょう。
手順2:現在のSPFレコードを確認しよう
次に、あなたのドメインにすでにSPFレコードが登録されていないか確認しましょう。
今回確認方法は、一般公開されているこちらのツールを使います。
https://mxtoolbox.com/spf.aspx
「Domain Name」の欄に、Google Workspaceで使用するドメインを入力し「SPF Record Lookup」を押します。

SPFレコードが設定されていると、下記の赤丸の部分に「v=spf1・・」で始まる文字が出てきます。設定されていない場合は「No SPF Record found」と表示されます。

この結果によって対応内容が変わるので、下記の表にまとめてみました。
| SPFレコードの内容 | 対応内容 |
|---|---|
| 「v=spf1 include:_spf.google.com ~all」である | 送信元がGoogle Workspaceだけなら、Google Workspace向けのSPFレコードは設定済みです。手順1で他の送信元が見つかった場合は、このレコードにその送信元を追加します。 |
| 上記以外の「v=spf1・・」で始まる文字が表示されている | Google Workspace以外の送信元が登録されています。新しいSPFレコードを追加せず、今あるレコードを編集してGoogle Workspace(include:_spf.google.com)を追加します。すでに使っていない送信元の値は、使用していないことを確認してから削除します。 |
| 「v=spf1」で始まる行が2つ以上ある | SPFレコードが重複しています。1つのレコードに統合し、残りは削除します(下記「1ドメインにSPFレコードは1つだけ」参照)。 |
| 「No SPF Record found」が表示されている | SPFレコードが設定されていません。手順1で洗い出した送信元をもとに、SPFレコードを新しく1つ登録します。 |
手順3:登録するSPFレコードの値を決めよう
Google Workspaceだけで送信する場合
送信元がGoogle Workspaceだけの場合は、Google公式ヘルプのとおり次の値を登録します。
v=spf1 include:_spf.google.com ~all
それぞれの意味は次のとおりです。
| 要素 | 意味 |
|---|---|
v=spf1 | SPFレコードであることを示す宣言。必ず先頭に書きます |
include:_spf.google.com | Google Workspace(Gmail)の送信サーバーを許可する |
~all | 上記以外から送られたメールは「疑わしい(SoftFail)」として扱うよう受信側に伝える。通常は受信されますが、疑わしいメールとして扱われます |
末尾を -all にすると、許可していない送信元からのメールは受信側で拒否される場合があります。送信元の書き漏らしがあると正当なメールまで届かなくなるおそれがあるため、Google公式ヘルプでは ~all の使用が推奨されています。
外部サービスからも送信する場合(既存レコードへの統合)
1つのドメインに登録できるSPFレコードは1つだけです。Google Workspace用と外部サービス用でSPFレコードを2つ登録すると、受信側がSPFを正しく評価できず、認証エラー(PermError)になります。複数の送信元がある場合は、v=spf1 から始まる1つのレコードの中に、すべての送信元を並べて書きます。
例えば、既存のSPFレコードが次のようになっていたとします(spf.example-mail.com は外部の配信サービスが指定する値の例、203.0.113.10 はWebサーバーのIPアドレスの例です)。
v=spf1 include:spf.example-mail.com ip4:203.0.113.10 ~all
この場合は、新しくレコードを追加するのではなく、既存レコードの ~all の前に include:_spf.google.com を追加して、次の1行に書き換えます。
v=spf1 include:_spf.google.com include:spf.example-mail.com ip4:203.0.113.10 ~all
v=spf1で始まるTXTレコードは、1つのドメイン(ホスト名)に1つだけにしますinclude:などで他のドメインを参照できる回数(DNSルックアップ)は、合計で10回までです。外部サービスを追加するほど回数が増え、上限を超えるとSPF認証が失敗します- 送信サービスの追加・解約があったときは、その都度SPFレコードも更新します
送信元が多い、参照回数の上限に近いなど構成が複雑な場合は、自己判断で書き換えず、社内のシステム担当者や各送信サービスの公式ヘルプを確認してから設定しましょう。
手順4:DNSにSPFレコードを登録しよう
それではSPFレコードを設定していきましょう。SPFレコードはDNS設定を修正しますので、ドメイン管理会社のDNS情報管理画面から設定します。今回はバリュードメインでの例でご説明いたします。
バリュードメインにログインしたあと、管理画面のトップページで「管理ドメイン」のリンクを選択します。

管理ドメインの一覧から、対象のドメインの「DNS/URL」を選択します。

SPFレコードは「TXTレコード」と呼ばれる種類で登録します。すでにSPFレコードがある場合は新しい行を追加せず、既存の行を手順3で決めた値に書き換えてください。
| 種類 | TXT |
| ホスト | 「@」や「入力なし」。 ※サブドメイン付きのメールアドレスで運用する場合は「サブドメイン名」を指定します。 例)xxxxx@aaa.bbb.com のようなメールアドレスであれば「aaa」を指定。 |
| 値 | 手順3で決めた値(Google Workspaceだけの場合は v=spf1 include:_spf.google.com ~all) |
バリュードメインの場合は下記のような入力になります。入力後保存ボタンを押してください。

手順5:SPF認証に合格しているか確認しよう(spf=pass の確認)
DNSの変更が反映され、SPF認証が機能し始めるまでには最大48時間ほどかかる場合があります。少し時間をおいてから、次の2段階で確認しましょう。
1. DNSにSPFレコードが公開されているか確認する
手順2と同じツールでドメインを検索し、登録した値の「v=spf1・・」が1つだけ表示されることを確認します。ただし、これはDNSにレコードが公開されたことの確認であり、実際のメールがSPF認証に合格しているかまではわかりません。
2. テストメールのヘッダーで spf=pass を確認する
SPFを設定したドメインのアドレスから、社外のGmailアドレスなど、自分以外の宛先にテストメールを送信し、受信側でメールのヘッダーを確認します。
Gmailで受信した場合は、メールを開いて「︙」(その他)メニューから「メッセージのソースを表示」を選びます。画面上部の一覧で「SPF」が「PASS」になっているか、またはヘッダー内の「Authentication-Results」の行に spf=pass と表示されていれば、SPFの設定は完了です。
spf=softfail や spf=fail と表示される場合は送信元の書き漏らし、spf=permerror と表示される場合はSPFレコードの重複や書式の誤り、参照回数(10回)の超過などが考えられます。手順1〜3を見直しましょう。
外部サービス(メール配信サービスやWebフォームなど)からも送信している場合は、同じようにそのサービスから送ったテストメールでも spf=pass になっていることを確認しておくと安心です。
SPF・DKIM・DMARCの関係
SPFは、送信ドメインを認証する仕組みのひとつです。Google公式は、SPFに加えてDKIMとDMARCも設定することを推奨しています。3つの役割は次のとおりです。
| 仕組み | 役割 |
|---|---|
| SPF | そのドメインのメールを送ってよい送信サーバー(送信元)を、DNSで受信側に伝える |
| DKIM | 送信するメールに電子署名を付け、送信途中で改ざんされていないこと・正当な送信元から送られたことを受信側が検証できるようにする |
| DMARC | SPFまたはDKIMの結果と差出人(From)ドメインの整合性をもとに、認証に失敗したメールをどう扱うか(監視のみ・隔離・拒否)と、レポートの送付先を受信側に伝える |
Googleのメール送信者のガイドラインでは、個人用Gmailアカウント宛てにメールを送るすべての送信者にSPFまたはDKIMの設定が求められ、個人用Gmailアカウント宛てに1日5,000通を超えるメールを送る送信者(一括送信者)には、SPF・DKIM・DMARCの3つすべての設定が必須とされています。
DKIMの設定手順はDKIM認証を設定してGoogle Workspaceのメール到達率を上げようで解説しています。DMARCは、SPFとDKIMを設定してから48時間以上の間隔を空けて、監視のみの設定から段階的に導入します(Google公式ヘルプの推奨)。具体的な設定手順はGoogle公式ヘルプのDMARC を設定するで確認できます。
SPFを設定してもメールが届かない場合
SPFは送信元を証明する仕組みのひとつであり、SPFを設定しただけで必ずメールが届くようになる・到達率が上がるとは限りません。メールが届かない、迷惑メールに入るといった問題は、次のような要因も関係します。
- DKIM・DMARCが未設定、または認証に失敗している
- 受信側から拒否(バウンス)されており、エラーメールに理由が書かれている
- 送信ドメインやIPアドレスの評価(送信者の評判)が低い、大量送信で迷惑メールと判定されている
- 宛先アドレスの誤りや、受信側のフィルタ設定
まずは手順5の方法でヘッダーのSPF・DKIM・DMARCの結果を確認し、エラーメールが返ってきている場合はその内容から原因を切り分けましょう。
まとめ – SPFは送信元を洗い出してから1レコードで設定しよう
SPFレコードは、自社ドメインのメールを送ってよい送信元を受信側に伝えるための設定です。次のポイントを押さえて設定しましょう。
- 設定前に、Google Workspace以外の送信元(Webフォーム、配信サービスなど)もすべて洗い出す
- SPFレコードは1ドメインに1つだけ。既存のレコードがある場合は、そこへ
include:_spf.google.comなどを統合する - 反映には最大48時間ほどかかる場合がある。テストメールのヘッダーで
spf=passを確認して完了とする - SPFだけでなく、DKIMとDMARCもあわせて設定する
なお、SPFレコードに関するGoogle公式のドキュメントはこちらです。詳細はこちらも合わせてご覧ください。
■SPF を設定する – Google Workspace 管理者 ヘルプ
https://knowledge.workspace.google.com/admin/security/set-up-spf?hl=ja
■SPF レコードについて – Google Workspace 管理者 ヘルプ
https://knowledge.workspace.google.com/admin/security/about-spf-records?hl=ja
また、当サイトのこちらの記事も合わせて読むと、より理解が深まると思いますのでぜひチェックしてみてください。