SPF、DKIM、DMARC:メール認証の完全ガイド
メール認証の3本柱を解説するガイド。SPF、DKIM、DMARCがどのように連携してドメインを保護し、受信トレイへの到達を実現するのかをご紹介します。 — Nova Uptimeはアップタイム、SSL、メール健全性、リンク変更を1つのダッシュボードで監視します。
メールの信頼を支える3本の柱#
送信されるすべてのメールは、受信者の受信トレイに届く前に受信サーバーで評価されます。その評価で問われるのは、ただ一つ。「このメールは本当に名乗っている送信者から送られてきたものか?」という点です。
この問いに答えるのが、DNSベースの3つのプロトコル、SPF、DKIM、DMARCです。それぞれが認証の異なる側面を担っており、3つそろうことでメール配信ヘルスの基盤が完成します。いずれか1つでも欠けていたり設定ミスがあったりすると、メールはフィルタリング、隔離、または拒否されるリスクにさらされます。
このガイドでは、それぞれのプロトコルの役割、連携の仕組み、そして設定の確認方法をご紹介します。
SPF:誰が送信を許可されているのか?#
SPFの役割#
SPF (Sender Policy Framework) は、自社ドメインを名乗ってメールを送信できるメールサーバーを列挙したDNS TXTレコードです。受信サーバーが yourcompany.com から送られたとされるメールを受け取ると、SPFレコードを参照して、その送信サーバーが承認済みリストに含まれているかを確認します。
SPFの仕組み#
- ドメインのDNSにSPFレコードを公開します (例:
v=spf1 include:_spf.google.com -all) - 誰かが自社ドメインからメールを送信します
- 受信サーバーがSPFレコードを参照します
- 送信サーバーのIPアドレスを承認済みリストと照合します
- IPが承認済みであればSPFチェックは合格、そうでなければ失敗となります
SPFの主な概念#
include:メカニズム — 別ドメインのSPFレコードを参照します。Google WorkspaceやSendGridなどのサードパーティサービスを認可する際に使用します。-allと~all—-all(ハードフェイル) は受信側に未認可の送信者を拒否するよう指示します。~all(ソフトフェイル) は不審としてマークするものの拒否はしないよう促します。より強固な保護には-allを使用してください。- DNSルックアップの上限10回 — SPFレコードは最大10回までDNSルックアップを発生させられます。この上限を超えるとSPFは完全に失敗します。多数のメールサービスを利用するドメインでよく見られる問題です。
SPFのよくあるミス#
- 新しいメールサービスをSPFレコードに追加し忘れる
- 多すぎるサービスを含めて10回の上限を超過する
+allを使ってしまい、結果としてSPFを無効化する (誰でも認可される状態になります)- 複数のSPFレコードを設定してしまう (1ドメインにつき1つしか許可されません)
無料の SPFチェッカー でSPF設定を確認してみましょう。
DKIM:メールが改ざんされていないか?#
DKIMの役割#
DKIM (DomainKeys Identified Mail) は、送信されるすべてのメールに暗号署名を付与します。この署名は2つのことを証明します。メールが自社ドメインから送られたこと、そして送信中に内容が改ざんされていないことです。
DKIMの仕組み#
- メールサーバーが公開鍵と秘密鍵のペアを生成します
- 公開鍵を
selector._domainkey.yourdomain.comのDNS TXTレコードとして公開します - メール送信時、サーバーはメールヘッダーと本文のハッシュを秘密鍵で署名します
- 署名はメールの
DKIM-Signatureヘッダーとして追加されます - 受信サーバーがDNSから公開鍵を取得し、署名を検証します
- 署名が一致すれば、メールは認証され、改ざんされていないことが保証されます
DKIMの主な概念#
- セレクタ — 各DKIM鍵にはセレクタ名 (例:
google、s1、default) があります。これにより、1つのドメインで異なるメールサービス向けに複数のDKIM鍵を持つことができます。 - 鍵のローテーション — DKIM鍵を定期的にローテーションすることがベストプラクティスです。セレクタを使うことで、サービスを止めずに鍵の交換が可能になります。
- 署名範囲 — DKIMは特定のヘッダーと本文に署名します。メールを変更するメーリングリストを経由すると、DKIM署名が壊れることがあります。
DKIMのよくあるミス#
- メールプロバイダー側でDKIMを有効化しても、DNSレコードの追加を忘れる
- 短すぎる鍵を使う (最低1024ビット、推奨は2048ビット)
- 全送信サービスにDKIMを設定していない (各サービスごとに専用のセレクタが必要です)
無料の DKIMチェッカー でDKIM設定を検証してみましょう。
DMARC:チェックに失敗したらどうするのか?#
DMARCの役割#
DMARC (Domain-based Message Authentication, Reporting, and Conformance) は、SPFとDKIMをポリシーで結びつけます。認証に失敗したメールに対して受信サーバーがどう対応すべきかを指示し、自社ドメインを使ってメールを送っているのが誰なのかを把握できるレポート機能も提供します。
DMARCの仕組み#
- DMARCレコードをDNSの
_dmarc.yourdomain.comに公開します - 受信サーバーが自社ドメインからのメールを受け取ります
- SPFとDKIMをチェックします
- いずれかの結果がFromドメインと「アラインメント」しているかを確認します
- アラインメントに失敗した場合、設定したDMARCポリシーに従います:
none(監視のみ)、quarantine(迷惑メール扱い)、またはreject(完全にブロック) のいずれかです - DMARCレコードに指定したアドレスに集計レポートを送信します
DMARCの主な概念#
- アラインメント — SPFアラインメントは、エンベロープ送信者ドメインがFromヘッダーのドメインと一致することを意味します。DKIMアラインメントは、署名ドメインがFromドメインと一致することを意味します。DMARCを通すには、少なくとも一方がアラインメントしている必要があります。
- ポリシーの段階的適用 — まずは
p=noneで配信に影響を与えずに監視を始めます。正規メールが通ることに自信が持てたらp=quarantineに進みます。最大限の保護を求めるならp=rejectに移行します。 - レポート機能 (
rua) —ruaタグは集計DMARCレポートの送付先を指定します。これらのレポートには、未認可の送信者を含むドメイン上のすべてのメール活動が記録されます。
DMARCのよくあるミス#
- 監視を飛ばしていきなり
p=rejectに進む (設定不備のサービスからの正規メールがブロックされます) - レポート用の
ruaアドレスを設定しない (状況が見えないまま運用することになります) - サードパーティサービスにはSPF/DKIMの「合格」ではなく「アラインメント」が必要であることを忘れる
無料の DMARCチェッカー でDMARCポリシーを確認してみましょう。
3つを組み合わせる仕組み#
SPF、DKIM、DMARCは互いに補完し合うものであり、重複するものではありません:
| プロトコル | 答える問い | 何を証明するか |
|---|---|---|
| SPF | このサーバーは認可されているか? | 送信サーバーが承認済みであること |
| DKIM | このメールは本物か? | メールが改ざんされていないこと |
| DMARC | 失敗したらどうするか? | 未認可のメールが適切に処理されること |
3つすべてのチェックに合格したメールは、受信トレイに到達する可能性が最も高くなります。いずれかのチェックに失敗したメールは、受信サーバーのポリシーに応じてフィルタリング、隔離、または拒否される可能性があります。
理想的な設定
- SPF: すべての正規送信サービスを記載し、
-allで終わるよう公開する - DKIM: 自社の代わりにメールを送るすべてのサービスに対して設定する
- DMARC:
p=reject(最低でもp=quarantine) に設定し、ruaレポートを有効化する
設定の確認
メール配信ヘルスチェッカー を使えば、SPF、DKIM、DMARC、MXレコード、ブラックリストの状態を1回のスキャンで一括評価できます。各プロトコルをさらに詳しく調べたい場合は、専用のチェッカーをご利用ください:
- SPFチェッカー — SPFレコードの詳細分析
- DKIMチェッカー — DKIM鍵の検出と検証
- DMARCチェッカー — ポリシー評価と推奨事項
継続的なモニタリングには、Nova Uptimeの メール配信ヘルスモニタリング が便利です。認証設定を定期的にチェックし、変化があれば通知してくれるので、配信に影響が出る前に設定ミスを発見できます。
関連記事
- メール配信ヘルスチェッカー完全ガイド — メール配信ヘルス分析の使い方を網羅
- コールドメール送信前の受信トレイリスク確認方法 — 送信前の受信トレイリスク評価
- DKIM徹底解説:完全ガイド — DKIMの詳細
- DMARCポリシー設定ガイド — DMARC設定のステップバイステップ
- SPFレコードの設定方法 — SPFレコード設定ガイド
- メール・ドメイン関連の無料ツール10選 — 利用可能な全無料ツール
- 自社のメールはブラックリスト入りしていないか? — ブラックリスト状態の確認と解除方法
Monitor Your Website Before It Goes Down
Get uptime monitoring, SSL tracking, domain expiry alerts, and email health checks. Free plan — no credit card required.
Start Monitoring Free関連記事
送信前にコールドメールが本当に受信トレイに届くかを確認する方法
コールドメールを当てずっぽうで送るのはやめましょう。キャンペーン全体を事前にシミュレートし、各見込み客ドメインの到達性を確認、送信ドメインを検証して、メールごとの受信トレイ難易度をマッピングしたCSVレポートを取得できます。
メール配信ヘルスチェッカー完全ガイド — ドメインのメール到達性をチェック
無料のメール配信ヘルスチェッカーツール。SPF、DKIM、DMARC、MXレコード、ブラックリストを一度にスキャン。配信問題が損失を生む前に修正しましょう。 — Nova Uptimeはアップタイム、SSL、メール健全性、リンク変更を1つのダッシュボードで監視します。
SaaSサインアップのためのメール配信ヘルス:認証メールが迷惑メールに振り分けられる理由
SaaSの認証メールが届かない=コンバージョン損失。確認メールが迷惑メールに入る理由、防止策、サインアップファネルへの影響を解説します。 — Nova Uptimeはアップタイム、SSL、メール健全性、リンク変更を1つのダッシュボードで監視します。