SPF・DKIM・DMARCをわかりやすく解説(5分で自分の設定を確認する方法)

SPF・DKIM・DMARCの役割、Gmail・Yahoo・Outlookが現在求めている要件、DNSレコードの読み方、そしてプロスペクト活動を始める前に修正すべきよくあるエラーについて解説します。

2026年11月10日 公開 · 読了時間 1 分

テーブルの上に置かれた錠前と鍵
写真: FlyD · Unsplash

メール到達率の話になると必ず出てくる3つの頭文字、SPF・DKIM・DMARC。多くの場合、ホスティング会社のヘルプページに載っている行をコピーして一度設定したきり、そのまま忘れてしまいます。そしてある日、メールが迷惑メールフォルダに振り分けられ、何が設定されていたのか誰も正確に把握していないことに気づくのです。

しかしこの3つの仕組みは、あなたのメールを受け取るすべてのサーバーが抱く、あるシンプルな疑問に答えています。「このメッセージは、本当に名乗っている送信元から来ているのか?」明確な答えがなければ、そのメッセージは疑わしいものとして扱われます。

なぜ必須になったのか

長い間、これらのレコードは強く推奨されるものでしたが、今では必須となっています。2024年2月、GmailとYahooは大量のメールを送信する送信者に対し、有効なSPFとDKIM、公開されたDMARCポリシー、ワンクリックの配信停止リンク、そして低い苦情率を義務付けました。MicrosoftもOutlook.com向けに同様の要件を発表し、2025年5月から適用されています。

公式な基準は大量送信者を対象としていますが、実際には、正しく認証されていないドメインのメッセージは、そのような送信量に達するはるか手前でフィルタリングされてしまいます。プロスペクト活動においては、この3つのレコードを最低限のラインと考えるべきです。

SPF:送信を許可されたサーバーのリスト

SPF(Sender Policy Framework)は、あなたのドメインのDNSに公開される1行のレコードです。「このドメインのメールは、これらのサーバーからしか送信できない」と宣言するものです。サーバーがあなたのドメインを名乗るメッセージを受け取ると、送信元サーバーがそのリストに含まれているかを確認します。

SPFレコードは次のようなものです。

v=spf1 include:_spf.mail.hostinger.com ~all

左から順に読みます。バージョン、許可されたサーバー(ここではホスティング会社のサーバー)、そしてそれ以外のサーバーをどう扱うか。末尾の「~all」は、他のサーバーからのメールを拒否はせず、疑わしいものとして扱うよう求めるもので、慎重な選択です。

よくあるエラーは次のとおりです。

  • 同じドメインに2つのSPFレコードがある:これは禁止されており、結果として無効になります。2つを1行に統合する必要があります。
  • サービスの記載漏れ:請求書をサードパーティのソフトウェアからも送信しているのに、そのサービスがリストに入っていない。
  • 「include」が多すぎる:SPFはDNSルックアップの回数を10回に制限しています。それを超えると、レコードは失敗します。

DKIM:メッセージの署名

DKIM(DomainKeys Identified Mail)は、各メールに暗号化された署名を加えます。送信サーバーが秘密鍵で署名し、対応する公開鍵があなたのDNSに公開されます。受信側は署名を検証し、有効であれば、メッセージが確かにあなたのドメインから送信され、途中で改ざんされていないことを確認できます。

公開鍵は、ホスティング会社が選んだ「セレクター」を使って構成された特定のDNSアドレスに配置されます。たとえば次のとおりです。

hostingermail1._domainkey.votredomaine.fr

DKIMの問題のほとんどはここに潜んでいます。鍵のコピーが不完全だったり(鍵は長いため)、セレクターがサーバーで実際に使われているものと違っていたり、ホスティング会社が手動での有効化を待っていたために鍵がまったく公開されていなかったり。信頼できる唯一の確認方法は、実際にメールを送信し、届いたメールのヘッダーを確認することです。

DMARC:認証失敗時の指示

DMARC(Domain-based Message Authentication, Reporting and Conformance)は、前述の2つを結びつけます。受信サーバーに対して、「もしメッセージが私のドメインを名乗りながらSPFとDKIMの両方に失敗した場合、次のように扱ってほしい」と伝えるものです。また、あなたのドメインを名乗って送信されたメッセージに関するレポートを受け取ることもできます。

最初のDMARCレコードは次のようなものです。

v=DMARC1; p=none; rua=mailto:dmarc@votredomaine.fr

「p=none」は、何もブロックせず、レポートを送信するという意味です。これはGmailとYahooが求める最小限のポリシーであり、良い出発点でもあります。正当な送信がすべて認証を通過することを確認できたら、「p=quarantine」(認証に失敗したメッセージを迷惑メールとして扱う)に進み、最終的には「p=reject」も検討できます。

微妙なポイントが1つあります。DMARCは、SPFまたはDKIMで認証されたドメインが、送信元アドレスに表示されるドメインと同じであることを要求します。これをアライメント(一致)と呼びます。paul@votredomaine.frから送信されたメールでも、ホスティング会社の技術ドメインによってDKIM署名されている場合、DKIMは通過してもDMARCでは失敗することがあります。

5分で自分のレコードを確認する方法

システム管理者である必要はありません。3つの確認で十分です。

  1. オンラインのDNS検索ツールで、あなたのドメインのTXTレコードを確認します。「v=spf1」で始まる行が1つだけあること、そして_dmarc.votredomaine.frに「v=DMARC1」の行があることを確認してください。
  2. 対象のメールボックスから個人のGmailアドレスにメールを送信し、それを開いて元のメッセージを表示します。Gmailには「SPF : PASS」「DKIM : PASS」「DMARC : PASS」と明示され、それぞれに使用されたドメインも表示されます。
  3. DKIMで表示されるドメインが、ホスティング会社のものではなく、あなた自身のドメインであることを確認します。

SmartOutboundでは、この確認が自動で行われます。各ドメインは毎日チェックされ、メールボックスの接続時に送信されるテストメールで、到着時に実際に確認されたDKIM署名が検証されます。また、メールボックスページの「DNSを確認」ボタンから、オンデマンドでチェックを再実行できます。DMARCが不足していてドメインがHostingerにある場合、ツールが自動で追加してくれることもあります。

それ以外の要素は?

この3つのレコードは、メールが受信トレイに届くことを保証するものではありません。回避可能な技術的理由によって拒否されないことだけを保証します。その先は、ドメインの評判、リストの品質、メッセージの内容にかかっています。新しいドメインの場合は、ウォームアップの期間も考慮する必要があります。また、メインドメインからプロスペクト活動を行うか迷っているなら、専用ドメインに関する記事が判断の助けになるでしょう。

よくある質問

+SPFレコードを2つ持つことはできますか?

いいえ。1つのドメインが公開できるSPFレコードは1行だけです。複数の送信サービスを利用している場合は、それらすべてを同じレコードに複数の「include」で追加してください。

+最初に選ぶべきDMARCポリシーは?

レポート用アドレスを設定した「p=none」です。これがGmailとYahooが求める最小限の設定です。正当な送信がすべて正しく認証されるようになったら、「p=quarantine」に進んでください。

+DNSの変更が反映されるまでどれくらいかかりますか?

通常は数分ですが、レコードのキャッシュ期間(TTL)によっては数時間かかることもあります。24時間経っても何も変わらなければ、レコードの入力が間違っている可能性が高いです。

+SPF・DKIM・DMARCがあれば迷惑メールを避けられますか?

いいえ。必要ではありますが、十分ではありません。ドメインの評判、送信量、アドレスの品質、メールの内容も同じくらい重要な役割を果たします。