メールのなりすましやフィッシングを防ぐために、現代のメールシステムでは SPF・DKIM・DMARC という3つの認証が使われています。Gmailや大手プロバイダーがこれらを受信判断の基準にしているため、メールが届かない・迷惑メールに入る問題の多くがこれらの設定漏れに起因しています。

SPFとは

SPF(Sender Policy Framework) は「このドメインのメールはどのサーバーから送ってよいか」をDNSに登録する仕組みです。

受信サーバーは、差出人のドメインのDNSに登録されたSPFレコードを参照し、実際にメールを送ってきたIPアドレスが許可リストに含まれているかを確認します。

SPFレコードの書き方

要素意味
v=spf1SPFバージョン宣言(必須)
include:外部のSPFレコードを参照
~all記載外からの送信はソフトフェイル(警告扱い)
-all記載外からの送信はハードフェイル(拒否)

SPFレコードはTXTレコードとしてDNSに登録します。ドメインに対して設定できるSPFレコードは1件のみです。複数登録するとSPFが無効になるため注意が必要です。

DKIMとは

DKIM(DomainKeys Identified Mail) は、メールに電子署名を付与して改ざんを検知する仕組みです。

送信サーバーがメール本文とヘッダーにハッシュ値を計算し、秘密鍵で署名します。受信サーバーはDNSに公開された公開鍵で署名を検証し、送信後に内容が改ざんされていないかを確認します。

DKIMレコードの登録例

DKIMの公開鍵はTXTレコードとして以下の形式で登録します。

セレクター名._domainkey.ドメイン名
たとえば Google Workspace の場合は google._domainkey.example.com というホスト名に登録します。実際の値は利用しているメール送信サービスの管理画面から取得できます。

DMARCとは

DMARC(Domain-based Message Authentication, Reporting, and Conformance) は、SPFとDKIMの認証結果をもとに「認証失敗したメールをどう扱うか」をドメイン所有者が指定する仕組みです。

DMARCレコードの書き方

ポリシー(p=)動作
none何もしない(モニタリング専用)
quarantine迷惑メールフォルダへ移動
rejectメールを拒否

rua= に指定したアドレスに認証結果のレポートが届くため、最初は p=none で様子を見て、問題がなければ quarantinereject と段階的に強化するのが定石です。

3つの認証の関係

SPF・DKIM・DMARCは単独では不完全であり、3つ揃って機能します。

この組み合わせにより、なりすましメールを体系的にブロックできます。

設定の確認方法

実際にSPF・DKIM・DMARCが正しく設定されているかは、以下のツールで確認できます。

設定変更後はDNSの反映に最大48時間かかることがあります。変更直後は焦らず時間をおいて再確認してください。