SPF・DKIM・DMARC|Gmailで迷惑フォルダ?なりすまし対策~仕組みと設定方法を初心者向けに徹底解説~
重要な業務連絡やあなたが心を込めて作ったメールマガジンが、相手の「迷惑フォルダ」に入っていたとしたら—。
実はこの問題、メールの内容ではなく、DNS(ドメイン・ネーム・システム)に設定する送信ドメイン認証が原因であることがほとんどです。DNSとは、インターネット上でドメインとサーバーを結びつける仕組みであり、メールの信頼性を判断する土台でもあります。
2024年2月、Googleは送信者ガイドラインを大幅に強化しました。1日5,000通以上のメールを送る事業者には、SPF・DKIM・DMARCの3つ全ての対応が必須となっています。
さらに2025年1月から、NTTドコモが送信ドメイン認証を導入していないメールに「なりすましメール警告表示」を順次開始。今やDNSが正しく設定されていないメールは、届かない時代になりつつあります。
しかし「SPF?DKIM?DMARC?それは何?よく分からない」という方も少なくないのではないでしょうか。本記事では、専門知識ゼロからでも理解できるよう、3つの技術の仕組み・違い・DNSの設定方法を徹底解説します。
なぜ今「送信ドメイン認証」が必要なのか?

なりすましメールによる被害は年々増加し、企業の金銭的損失や情報漏えい、さらにはブランド毀損(きそん)にもつながっています。こうした脅威に対抗するのが、SPF・DKIM・DMARCと呼ばれる送信ドメイン認証技術です。
SPF(エスピーエフ)は、「その送信元サーバーが正規かどうか」を確認する仕組みです。
DKIM(ディーキム)は、メールに電子署名を付与し、「なりすましではないか」「内容が改ざんされていないか」を検証する技術です。
DMARC(ディーマーク)は、SPFやDKIMの結果をもとに「認証に失敗したメールをどう扱うか」を定めるポリシーです。
これらを適切に設定することで、なりすましメールのリスクを大きく低減できます。その重要性について見ていきましょう。
なりすましメールの現状
近年、実在する企業や人物を装った「なりすましメール」による被害が急増しています。取引先を装ったメールでマルウェア(悪意のある目的で作られたソフトウェアの総称)に感染させ、個人情報を流出させたり、偽の銀行口座への振込を指示するメールで、金銭をだまし取られたりするケースもあります。
なりすましメールが巧妙なのは、送信者のFromアドレスをメール技術上、自由に書き換えられる点です。攻撃者は正規企業のドメインを詐称して、一見まったく怪しくないメールを送り付けてきます。人の目で見分けることは非常に困難で、だからこそ被害が後を絶ちません。
また、なりすましメールはブランド毀損(きそん)のリスクにも直結します。自社ドメインが悪用されてフィッシングメールが大量に送信された場合、受信者の信頼を大きく損なう恐れがあります。さらに、その影響で正規のメールまで迷惑メールフォルダに振り分けられてしまい、顧客との重要なコミュニケーションに支障をきたす可能性もあります。
Gmail送信者ガイドラインの影響
2024年2月、Googleは「メール送信者のガイドライン」を強化しました。ガイドラインの概要は以下の通りです。
全送信者に必須
SPFまたはDKIMのいずれか一方への対応
1日5,000通以上の大量送信者
SPF・DKIM・DMARCの3つすべてへの対応
未対応のままでは、Gmailユーザーへのメールが届かなくなる可能性があります。さらに実態として、DKIMは大量送信者でなくても実質必須の環境になりつつあります。DKIMがないとGmailのスパムフィルターに強く引っかかるためです。
【参考】 Gmail,「メール送信者のガイドライン」
NTTドコモの「なりすましメール警告表示」
NTTドコモが、2025年1月より順次、送信ドメイン認証未対応のメールに対して「なりすましメール警告表示」を開始しています。個人向けメール配信を行う事業者にとっても、対応は急務となっています。
【参考】 NTTドコモ,「なりすましメール警告表示」
目次に戻るメールはどうやって送られているのか?(超基礎)
送信ドメイン認証を理解する上で、まず知っておきたいのが「エンベロープFrom」と「ヘッダFrom」の違いです。メールの仕組みは、封筒と手紙の関係に例えると理解しやすいです。
封筒の差出人(エンベロープFrom)
これは、配達のための差出人です。郵便でいうと、封筒に書く名前です。メールを受け取る人の画面には表示されません。
手紙の差出人(ヘッダFrom)
こちらは、画面に表示される差出人です。私たちがメールの受信画面で目にしている「送信者情報」は、こちらを指します。
なりすましはここを悪用する

封筒の差出人と手紙の差出人が違っていても、メールは届きます。表示される名前だけを変えることもできます。
たとえば、「info@大手銀行.co.jp」と表示させながら、別の場所から送ることができます。
これが、なりすましメールの手法です。
この問題を防ぐ仕組みが、SPF・DKIM・DMARCです。まずは「差出人が2つある」と覚えておきましょう。
目次に戻るSPFとは?(送信元IPを確認する仕組み)
なりすまし対策の第一歩がSPFです。これは、メールを送ってもよいサーバーをDNSに登録しておく仕組みです。Gmailはメールを受け取ると、その送信元が正しいかどうかを確認します。
まずはこの「送信元チェック」の仕組みから理解していきましょう。
SPFの基本概念
SPF(Sender Policy Framework)とは、「このドメインからのメールを送ってよいサーバー」をDNSに事前に宣言しておく仕組みです。
例えば、「example.com のメールは、IPアドレス 203.0.113.1(※説明用の例)のサーバーからのみ送信されます」といった情報をDNSにあらかじめ登録しておきます。
メールを受信した側は、実際に送信してきたサーバーのIPアドレスが、その登録済みのリストに含まれているかを照合します。もしリストにないIPアドレスから送られてきた場合は、「なりすましの可能性があるメール」と判断することができます。
SPFの仕組み
SPFの検証フローは以下の手順で行われます。
- 送信者がメールを送信する
- 受信サーバーは、メールが届いたサーバーのIPアドレスを記録する
- エンベロープFromのドメイン(例:example.com)でDNSを検索する
- DNSのTXTレコードにあるSPFレコードと、実際の送信IPを照合する
- 一致すれば「SPF認証成功(Pass)」、不一致なら「失敗(Fail/SoftFail)」と判定する

SPFレコードの読み方(参考)
実際のSPFレコードはDNSのTXTレコードに以下のように記述します。
v=spf1 include:spf.google.com ip4:203.0.113.1 ~all
各要素の意味
- v=spf1:SPFバージョン1の宣言
- include:spf.google.com:Googleのメールサーバーからも送信を許可(Gmailなど外部サービスを使う場合)
- ip4:203.0.113.1:このIPアドレスからの送信を許可
- ~all:上記以外は「SoftFail(警告)」として扱う(-all なら完全拒否)
~all と -all の違いは、SPF失敗時の処理の厳しさです。-all(HardFail)は完全拒否を推奨しますが、転送メールで正規メールが誤検知される可能性があるため、多くの場合まず ~all で様子を見ることが推奨されます。
SPFの限界
ここまで見ると、「SPFを設定すればなりすましは防げる」と思えるかもしれません。
しかし、SPFだけでは不十分です。実はSPFには、構造上どうしても避けられない弱点があります。
ヘッダFromを検証しない
SPFが検証するのはエンベロープFrom(封筒の差出人)です。メールソフトに表示されるヘッダFrom(手紙の差出人)は検証しません。
つまり、エンベロープFromを正規ドメインに設定したまま、ヘッダFromだけを詐称するなりすましは、SPFだけでは防げません。
転送に対応できない
メールが転送された場合、転送サーバーのIPアドレスが新たな「送信元IP」になります。しかし転送サーバーのIPはSPFレコードに登録されていないため、正規のメールなのにSPF認証が失敗してしまいます。
こうした弱点を補うために登場したのが、次に解説するDKIMです。
目次に戻るDKIMとは?(改ざん防止の電子署名)
SPFが「送信元のサーバー」を確認する仕組みだとすると、次に必要になるのは「メールそのものが本物かどうか」を確認する仕組みです。そこで登場するのがDKIMです。
DKIMの基本イメージ
SPFが「送ってよいサーバーのリスト」だとすると、DKIMは「本物である証明の印鑑」です。DKIMの考え方は、大切な書類に社印を押すようなものです。
送信者がメールに「電子署名」を押し、受信者がその署名を検証することで「このメールは本物の送信者が作成し、途中で改ざんされていない」と確認できます。
DKIMの仕組み
DKIMは、メールに「電子署名」を付ける仕組みです。SPFが送信元IPを確認するのに対し、DKIMは「正当な送信元から送られたメールである(なりすましではない)か」「メールの内容が改ざんされていないか」を確認します。DKIMの仕組みは、公開鍵暗号を利用した電子署名です。
送信側の処理は以下の手順で行われます。
- メールの内容(ヘッダ+本文)からハッシュ値を計算する
- 秘密鍵でハッシュ値を暗号化して「署名」を作成する
- 署名をDKIM-Signatureヘッダとしてメールに付加して送信する
※ハッシュ値とは、データを特別な計算(ハッシュ関数)で変換した固定長の文字列で、元に戻すことのできない一方向の変換(不可逆)で生成される
受信側の処理は以下の手順で行われます。
- DKIM-Signatureヘッダから署名ドメイン(d=)とセレクター(s=)を取得する
- DNSから公開鍵を取得する
- 公開鍵で署名を復号してハッシュ値を取り出す
- 受信したメール本文のハッシュ値と照合する
※d=(署名ドメイン)とは、メールに署名したドメイン名。「このドメインが責任を持っています」という意味
※s=(セレクター)とは、公開鍵を探すための名前(識別子)。1つのドメインで複数の鍵を使えるようにするためのもの

一致すれば「DKIM認証成功」となり、そのメールは改ざんされておらず、本物の送信者が作成したものと確認できます。
DKIM-Signatureの中身(参考)
実際にメールヘッダに付けられるDKIM-Signatureは以下のような構造です。
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=example.com; s=google; …省略…
bh=ハッシュ値; b=署名データ
主なパラメータ
- d=(ドメイン):署名を行ったドメイン。DMARCのアライメントチェックに使われる重要な値
- s=(セレクター):DNSで公開鍵を検索するためのキー
- a=(アルゴリズム):署名アルゴリズム(rsa-sha256が一般的)
セレクターとは?
セレクターとは、1つのドメインで複数のDKIM鍵ペアを使い分けるための識別子です。
例えば d=example.com, s=google であれば、受信サーバーは google._domainkey.example.com というDNSレコードを参照して公開鍵を取得します。
これにより、メールサービスを複数使っていても、それぞれ別のセレクターで管理できます。

DKIMの限界
SPFやDKIMを設定していれば、「なりすまし対策は万全」と思われがちです。しかし、DKIMにも弱点があります。
リプレイ攻撃
有効なDKIM署名がついたメールを悪意のある第三者が取得し、そのまま別の宛先に再送する「リプレイ攻撃」を防ぐことができません。
単体ではポリシー制御不可
DKIMは「本物かどうか」を確認しますが、「認証に失敗したときにどう処理するか」というポリシーを定める機能はありません。失敗時の処理はDMARCが担います。
DKIMは「本物かどうか」を確認する仕組みです。しかし、認証に失敗したメールをどう処理するかまでは決められません。その役割を担うのが、次に解説するDMARCです。
目次に戻るDMARCとは?(最終判断をする司令塔)

SPFとDKIMで「送信元」と「改ざんの有無」を確認できるようになりました。では、もしどちらかが失敗した場合、そのメールはどう扱われるのでしょうか?その最終判断を行うのがDMARCです。
DMARCの役割
DMARC(Domain-based Message Authentication, Reporting, and Conformance)は、SPFとDKIMの「結果」を受け取り、認証失敗時の処理を決定する司令塔です。DMARCは以下の3つの役割を持ちます。
最終判定
SPFとDKIMの認証結果とアライメント(後述)を組み合わせて、メールの真正性を総合的に判断します。
ポリシー宣言
認証失敗時に受信サーバーがどう処理すべきかを指定します。
レポート受信
誰がどのドメインからメールを送っているかの集計レポートを受け取ることができます。
DMARCポリシー
DMARCレコードは、DNSに設定する「メールの扱いルール」です。以下のように表示されます。
v=DMARC1; p=none;
DMARCレコードの「p」は“policy(方針)”の略で、認証に失敗したメールをどう処理するかを指定します。
3段階のポリシー
DMARCでは3段階のポリシーを設定できます。
| ポリシー | 意味 | 推奨用途 |
|---|---|---|
| none | 監視のみ。メールの処理に影響しない | 導入初期の調査・監視期間 |
| quarantine | 認証失敗メールを迷惑フォルダへ振り分け | 中間段階 |
| reject | 認証失敗メールを完全に拒否 | 本格運用 |
段階的導入が必要な理由
DMARCはいきなりrejectを設定してはいけません。理由は2つあります。まず、全ての正規メール送信経路を把握しないままrejectにすると、メールマガジン配信サービス・社内システム・外部アプリから送られる正規メールまで拒否されてしまいます。
次に、SPFやDKIMの設定が完全でない状態でrejectにすると、正規メールが大量に拒否される可能性があります。
推奨ステップ
- p=noneで監視開始(DMARCレポートで送信経路を把握)
- 全経路のSPF・DKIMが整ったらp=quarantineに移行
- 問題がなければp=rejectに引き上げ
DMARCの判定には「アライメント」という重要な概念が関わっています。次に、その仕組みを詳しく見ていきましょう。
目次に戻るDMARCの「アライメント」とは?

ここまでSPF・DKIM・DMARCの仕組みを見てきました。しかし「認証は成功しているのにDMARCが失敗する」ことがあります。その原因が アライメント不一致 です。
なぜアライメントが重要なのか?
アライメントとは、認証に使われたドメインと、画面に表示される差出人(From)が一致しているかを確認する仕組みです。DMARCはこのチェックをSPFとDKIMの両方に対して行います。
SPFアライメント
SPFは「封筒の差出人」(エンベロープFrom)のドメインを検証します。DMARCは、SPFで認証に成功したドメインが、表示From(ヘッダFrom)のドメインと一致しているかを確認します。
DKIMアライメント
DKIMは署名に含まれる「d=ドメイン」を検証します。DMARCは、DKIM署名が成功し、その d=ドメインが表示From(ヘッダFrom)のドメインと一致しているかを確認します。
RelaxedとStrictの違い
RelaxedとStrictは、アライメント(ドメイン一致)の判定の厳しさを決める設定です。DMARCレコードの中で指定します。
Relaxedはサブドメインを許容する緩やかな判定、Strictは完全一致のみ許可する厳格な判定です。特別な理由がない限り、通常はRelaxedで問題ありません。
DMARCは「どちらか一方OK」で成立
重要なのは、DMARCはSPFアライメントとDKIMアライメントのどちらか一方が通過すればDMARC PASS(成功)になる点です。
これはメール転送によってSPF認証が通過しないケースなどでも、DKIMアライメントが通過していればDMARCが成立することを意味します。だからこそ「SPFとDKIMを両方設定する」ことが重要です。

よくある質問

ここでは、よくある質問について紹介します。
Q. なぜ迷惑メールに入るのか?
A. SPFやDKIMが未設定・設定ミスの場合、受信側のメールサーバーが「信頼できない送信元」と判断して迷惑フォルダに振り分けます。Gmailは特に、DKIM未署名のメールを厳しく扱います。
Q. 表示名なりすましは防げる?
A. SPF・DKIM・DMARCでは「表示名」のなりすましは防げません。例えば「山田太郎 attacker@evil.com」のように、実際の送信元はevil.comであっても、メールソフト上の表示名を「山田太郎」と偽ることができます。表示名なりすましの対策にはBIMI(Brand Indicators for Message Identification)の導入が有効です。
Q. 転送でSPF認証が通過しなくなるのはなぜ?
A. メールが転送されると、転送サーバーが新たな「送信元IPアドレス」になります。しかし転送サーバーのIPはオリジナル送信者のSPFレコードに登録されていないため、SPF認証が失敗します。これを回避する仕組みとして「SRS(Sender Rewriting Scheme)」があり、転送時にエンベロープFromを書き換えてSPFが通るようにします。DKIMは転送時もメール本文・ヘッダが改変されなければ署名が維持されるため、転送耐性があります。
まとめ
本記事では、メールが迷惑フォルダに入る原因となる「送信ドメイン認証」の仕組みを解説しました。
SPF(Sender Policy Framework):送信元IPアドレスをDNSで宣言し、なりすましメールを検出する仕組みです。設定は比較的簡単ですが、ヘッダFromを検証せず、転送により認証を通過しなくなるケースもあるという限界があります。
DKIM(DomainKeys Identified Mail):電子署名でメールの本物性と改ざんの有無を証明します。転送にも強く、ヘッダFromドメインも検証できます。
DMARC(Domain-based Message Authentication, Reporting, and Conformance):SPFとDKIMの結果を使い、認証失敗時の処理(none/quarantine/reject)を宣言し、レポートを受け取れる仕組みです。SPFまたはDKIMのアライメントが通過すれば成立します。
この3つはセットで機能します。それぞれ単独では不十分であり、組み合わせることで初めて強固な送信ドメイン認証が完成します。
まずは「SPFとDKIMを設定」「DMARCをp=noneで監視開始」から取り組んでみてください。
learningBOXの機能一覧・料金表を今すぐ確認!
▼こちらもおすすめ!あわせて読みたい
もっと知りたい方へ





