SPF、DKIM、DMARCは、送信先のメールプロバイダーが必ず確認する「このメールは本当に名乗っている送信者から届いたのか」という問いに答える、3つのDNSレコードです。正しく設定すれば、プロバイダーはメールを信頼し、受信トレイへの配信を検討してくれます。設定が誤っていたり、設定されていなかったりすると、2024年以降は大手プロバイダーによる拒否がますます増えていきます。ここでは、それぞれの役割をわかりやすく説明します。
3つのレコードの役割#
3つのレコードは、送信者の身元を証明する役割を分担しています。
- SPFは、自社ドメインのメールを送信してよいサーバーを示します。
- DKIMは、メールが配送中に偽造や改ざんをされていないことを証明する暗号署名を付けます。
- DMARCは、SPFとDKIMの結果を、受信者に見える「From」アドレスと結び付けます。認証に失敗したメールの扱いをプロバイダーに伝え、結果をレポートとして送り返します。
3つがそろうことで、受信側はメールが確かに自社のものだと確認できます。GoogleとYahooが2024年に導入した送信者ガイドラインでは、大量送信者は3つすべてを必ず設定する必要があります。もはや任意ではありません。ただし、認証によって得られるのは受信トレイへの配信が検討されることだけです。実際に受信トレイに届くかどうかは、レピュテーションとリストの健全性で決まります。
SPF:送信を許可するサーバーを示す#
SPF(Sender Policy Framework)は、自社ドメインを使ってメールを送信してよいサーバーとサービスを列挙するTXTレコードです。受信側はメールを受け取ると、送信サーバーのIPアドレスをSPFレコードと照合します。
example.com. TXT "v=spf1 include:_spf.google.com include:sendgrid.net ~all"
末尾の~allはsoftfail(受け入れるが不審なメールとして扱う)、-allはhard fail(許可されていない送信元のメールを即座に拒否)を表します。自社に代わって送信するサービスごとに、このレコードに専用のinclude:メカニズムを追加する必要があります。文字列を手作業で編集するのではなく、利用中のサービスに合わせた正確なSPFレコードを作成してください。もう1つ知っておきたい注意点があります。SPFが確認するのは受信者に見える「From」ではなくエンベロープ送信者です。また、転送するサーバーは自社のレコードに含まれていないため、メールが転送されると認証に失敗します。この弱点があるからこそ、DKIMとDMARCが併用されます。ドメイン診断の監視はこれらのレコードを毎日再チェックし、DMARCレポートは、ドメインごとにどの送信元が成功または失敗しているかを示します。以前は動いていた設定が失敗し始めた場合は、SPF、DKIM、DMARCが機能しなくなる理由で、よくある原因を挙げています。
DKIM:改ざんされていないことを署名で証明する#
DKIM(DomainKeys Identified Mail)は、メールごとに暗号署名を付けます。送信システムが秘密鍵でメールに署名します。対応する公開鍵は、セレクターを付けた名前でDNSに公開します。
selector1._domainkey.example.com. TXT "v=DKIM1; k=rsa; p=MIGfMA0G..."
受信側は公開鍵を取得して署名を検証し、2つのことを確認します。メールが確かに自社ドメインから送られたこと、そして配送中に改ざんされていないことです。SPFと異なり、DKIM署名はメールと一緒に届くため、転送されても有効なままであることが多く、2つのチェックのうち堅牢なのはDKIMです。
DMARC:全体をまとめるポリシー#
DMARC(Domain-based Message Authentication, Reporting and Conformance)は、SPFとDKIMに意味を持たせるレコードです。役割は3つあります。認証に失敗したメールに対するポリシーを設定すること、認証されたドメインと受信者に見える「From」の間でアライメントを要求すること、そしてレポートを送信することです。
_dmarc.example.com. TXT "v=DMARC1; p=none; rua=mailto:dmarc@example.com"
pの値は、受信側への指示を表します。
p=none:監視のみです。何も処理せず、レポートだけを送ります。まずはここから始めます。p=quarantine:認証に失敗したメールを迷惑メールフォルダーに振り分けます。p=reject:認証に失敗したメールを拒否します。
なりすましを防ぐのがアライメントです。DMARCに成功するのは、SPFまたはDKIMに成功したドメインが「From」ヘッダーのドメインと一致する場合に限られます。SPFとDKIMはどちらも設定しておくべきですが、アライメントが一致する必要があるのは片方だけです。まずp=noneで始め、正規の送信がすべて認証されると確信できるまで集計レポートを確認します。その後、quarantine、最終的にはrejectへと段階的に引き上げます。
認証が必須になった理由#
かつて送信ドメイン認証はベストプラクティスでしたが、2024年以降は関門になっています。Googleの送信者ガイドラインでは、Gmail宛てに送信するすべての送信者に、少なくともSPFまたはDKIMの設定が求められ、Postmaster Toolsの迷惑メール報告率を0.3%未満に保つ必要があります。さらに、Gmail宛てに1日5,000通を超えて送信する大量送信者は、SPF、DKIM、そしてDMARCのすべてを(アライメントが一致した状態で)設定し、マーケティングメールにはワンクリック配信停止も用意しなければなりません。Yahooも同じ時期に同等の要件を導入しました。Googleは2025年後半から、要件を満たさないメールの拒否を含め、適用を段階的に強化しています。上記の要件は、2026年7月時点のGoogleのガイドラインで確認したものです。
実務上の結論は次のとおりです。マーケティングメールでもトランザクションメールでも、送信量にかかわらず、3つのレコードは今や必須の前提条件であり、あれば望ましいというものではありません。
認証は到達率とは別のもの#
ここで、つまずきやすい境界線をはっきりさせておきます。SPF、DKIM、DMARCに成功すると証明できるのは送信者が誰かであり、優良な送信者かどうかではありません。完全に認証されたメールでも、送信者レピュテーションが低いドメインや、スパムトラップを含むリスト、上昇中のバウンス率といった問題があれば、迷惑メールに振り分けられます。プロバイダーはまず認証を確認し(認証がなければ信頼は始まりません)、そのうえでレピュテーションとエンゲージメントを評価して振り分け先を決めます。
つまり、認証は入場券であり、ゴールではありません。3つのレコードを正しく設定したうえで、受信トレイへの到達に実際につながる取り組みを進めましょう。リストを検証して無効なアドレスへの送信をなくし、バウンスと迷惑メール報告を低く抑え、メールを望む相手に送ります。そのほかの施策はメール到達率ガイドで解説しています。
よくある質問
01SPF、DKIM、DMARCの3つすべてが必要ですか?
実際に一定の送信量があるなら、はい。2024年以降、GoogleとYahooはすべての送信者にSPFまたはDKIMを、大量送信者(1日5,000通以上)には3つすべてを求めています。DMARCがあってこそ、他の2つがなりすましに対して実効性を持ちます。大量送信者の基準に満たない場合でも、3つそろえておくことが、今ではプロバイダーが期待する最低限の水準です。
02SPFとDKIMの違いは何ですか?
SPFは、自社ドメインのメールをどのサーバーが送信してよいかを示し、送信元IPアドレスと照合して確認されます。DKIMはメールに暗号署名を付け、受信側が自社から送られたこと、改ざんされていないことを確認できるようにします。SPFはしくみが単純ですが転送されると失敗します。DKIMはメールと一緒に届くため転送されても有効です。両者は異なる失敗パターンをカバーするため、両方が必要です。
03DMARCのp=noneとは何ですか?それだけで十分ですか?
p=noneは、認証に失敗したメールに対して何も処理せず、レポートだけを送るよう受信側に伝える設定です。監視を始める安全な出発点ですが、なりすましに対する保護にはなりません。あくまで最初の一歩であり、ゴールではありません。レポートで正規のメールが認証されていることを確認してから、p=quarantine、p=rejectへと引き上げ、ポリシーを実際に適用します。
04認証に成功すれば、受信トレイへの到達は保証されますか?
いいえ。認証は必要条件ですが、十分条件ではありません。認証は送信者の身元を証明し、メールが検討されるための条件を満たすものです。配信先を決めるのは、送信者レピュテーション、エンゲージメント、迷惑メール報告率、リストの品質です。完全に認証されていても、リストが不健全だったりレピュテーションが低かったりすれば、迷惑メールに振り分けられます。
認証は玄関まで連れていってくれますが、その先に進めるかどうかはリストの健全性にかかっています。無料メールチェッカーは、バウンスする前に無効なドメインや入力ミスを見つけます。また、無料プランならリストに対して検証パイプラインのすべてを実行できます。クリーンなリストと低いバウンス率があって初めて、信頼できる送信者としての身元が受信トレイへの配信につながるからです。



