DMARC・SPF・DKIMとは?メールが届かない原因と送信ドメイン認証の設定ポイント
こんにちは、スピーディア技術満足室です。
「取引先に送ったメールが届いていないと言われた」「メルマガを配信したのに、最近やけに開封率が落ちている」そんな経験はありませんか?
実はここ数年、メールの到達率を取り巻く環境は大きく変わっています。Gmailや米Yahoo Mail、Outlook.comといった大手メールサービスが、なりすましメールやフィッシング詐欺対策を強化する流れの中で、送信側に「正しい身元証明」を求めるようになってきたんです。
そのキーワードになるのが、SPF・DKIM・DMARCという3つの仕組み。名前は聞いたことがあるけれど中身はよくわからない、という方も多いかもしれません。
今回は、この送信ドメイン認証を支える3つの仕組みがそれぞれ何をしているのか、メールが届かなくなる原因とどう関係しているのか、そして実際にどう設定していけばいいのかを、できるだけわかりやすく解説していきます。
【そもそも送信ドメイン認証とは?なぜ今これほど重要なのか】
送信ドメイン認証というのは、ざっくり言えば「このメールは、本当に名乗っているドメインから送られていますよ」ということを技術的に証明する仕組みです。
たとえば、銀行や通販サイトを装ったフィッシングメールが社会問題になっていますよね。差出人欄に有名企業の名前が書かれていても、実際は赤の他人が勝手にその名前を騙って送っているケースが後を絶ちません。こうしたなりすましを防ぎ、受信側が「このメールは本物かどうか」を判定できるようにするのが、送信ドメイン認証の役目なんです。
■ なぜ「今」設定が必要なのか
これまでは、送信ドメイン認証は「設定しておくとよい」という位置づけでした。ところが2024年2月以降、Googleと米Yahoo!が大量送信者向けのガイドラインを強化しました。たとえばGoogleは「Gmailアカウント宛に1日5,000通以上送る送信者」を対象に、SPF・DKIM・DMARCすべての設定を事実上必須としています。
さらに2025年5月5日からは、Microsoft(Outlook.com、hotmail.com、live.com)も同様の要件を施行しています。つまり、世界の主要なメールサービスがほぼ足並みをそろえて、認証されていないメールを締め出す方向に動いているということです。
「うちは1日5,000通も送らないから関係ない」と思われるかもしれませんが、正直なところ、これは時間の問題と考えたほうがよさそうです。少量送信者にも段階的に要件が広がっていく可能性は高いですし、実際すでに「未設定だと迷惑メールフォルダに入りやすい」という現象は起きています。
【SPF・DKIM・DMARCそれぞれの役割をやさしく整理】
3つの仕組みは似たような名前で混同しやすいので、まずは役割分担を整理しておきましょう。
■ SPF(Sender Policy Framework)——「うちのドメインから送るサーバーはこれです」と宣言する仕組み
SPFは、「このドメインのメールは、ここに書いてあるIPアドレスのサーバーから送りますよ」という宣言をDNS(ドメイン名を管理する電話帳のようなもの)に登録しておく仕組みです。
たとえば、example.co.jpというドメインがあったとして、そのDNSに「example.co.jpのメールは、IPアドレス203.0.113.10と203.0.113.11からしか送りません」と書いておきます。受信側のメールサーバーは、届いたメールの送信元IPが宣言と一致しているかをチェックして、合っていれば「本物だな」と判断するわけです。
イメージとしては、会社の受付に「今日は田中と鈴木が出入りします」と書いた紙を貼っておくようなもの。違う名前の人が来たら受付で止められる、というのに似ています。
■ DKIM(DomainKeys Identified Mail)——電子署名でメールの中身を保証する仕組み
DKIMは、メールに目に見えない電子署名を付けて送る仕組みです。送信側で秘密鍵を使って署名を作り、受信側はDNSに公開されている公開鍵で照合します。
これによって、「本当にこのドメインから送られたメールか」「途中で誰かに書き換えられていないか」の両方を確認できるんです。封筒に署名入りの封蝋(ふうろう)を押しているようなイメージでしょうか。封蝋が壊れていたり、署名が本物でなければ、中身を疑う根拠になります。
■ DMARC(Domain-based Message Authentication, Reporting & Conformance)——SPFとDKIMの結果をどう扱うか決める司令塔
DMARCは、SPFやDKIMの認証に失敗したメールを「どう扱うべきか」をドメイン所有者が指定する仕組みです。
具体的には、3つのポリシーから選びます。
「none(何もしない、ただし結果はレポートしてもらう)」「quarantine(迷惑メールフォルダに入れてもらう)」「reject(受信を拒否してもらう)」の3段階ですね。最初はnoneから始めて、状況を見ながら徐々に強化していくのが定番の進め方です。
DMARCの便利なところは、認証に失敗したメールの情報がレポートとして送られてくる点。「うちのドメインを騙って、こんなところからメールが送られていますよ」という情報が日々届くので、なりすましの実態を把握できるんです。
【メールが届かないときに考えられる原因】
「送ったはずのメールが届かない」というトラブルは、実は珍しいものではありません。原因はいくつかのパターンに分かれます。
■ 送信側で改善できる原因
最も多いのが、送信ドメイン認証の未設定や設定ミスです。SPFは設定してあるけれどIPアドレスが古い、DKIMの公開鍵がDNSに正しく登録されていない、DMARCのポリシーに構文ミスがあるなど、こうした小さな設定漏れが、受信側で「怪しいメール」と判定される原因になります。
次に多いのが、本文や件名の問題です。フィッシングメールでよく使われる単語が並んでいたり、URLの数が極端に多かったりすると、受信側のフィルターに引っかかりやすくなります。HTMLメールの場合、画像ばかりで本文テキストがほとんどないようなレイアウトも、機械的に怪しまれることがあります。
メールサーバーの送信元IPアドレスが、過去にスパム送信に使われた履歴があって「ブラックリスト」に載っているケースもあります。中古のIPアドレスを払い出された場合などに起こり得るので、心当たりがなくても一度確認しておきたいところです。
■ 受信環境側の制約
会社で導入しているセキュリティゲートウェイや、受信者個人の振り分けルールによって、迷惑メール扱いされてしまうこともあります。これは送信側からは直接コントロールできない部分ですが、認証をきちんと通しておくことで、誤判定のリスクは確実に下げられます。
■ 接続経路の問題
メールサーバー間の通信が一時的に詰まっていたり、DNSの応答が遅れていたりすると、配送に時間がかかったり失敗したりすることもあります。これはインターネット全体の経路の混雑や、特定の中継サーバーの一時的な不調によるもので、時間を置くと解消する場合がほとんどです。
【設定の進め方】
送信ドメイン認証は「全部一気にやろう」とすると、かえって設定ミスでメールが届かなくなることがあります。おすすめは段階的なアプローチです。
■ ステップ1:まずはSPFレコードから
最も導入のハードルが低いのがSPFです。自社のメールサーバーやメール配信サービスのIPアドレスを洗い出し、DNSにTXTレコードとして登録します。
たとえば「v=spf1 ip4:203.0.113.0/24 include:_spf.example.jp -all」のような1行ですね。SaaS型のメール配信サービスを使っている場合は、各サービスが指定するinclude文を追加するだけで済むことも多いです。
■ ステップ2:DKIM署名を追加する
次にDKIMです。これは送信側のメールサーバーで秘密鍵を生成し、対応する公開鍵をDNSに登録する作業が必要になります。
メールサーバーを自前で運用している場合は、Postfixに「OpenDKIM」を組み合わせるのが定番ですし、クラウドのメールサービスを使っているなら管理画面から数クリックで設定できるものがほとんどです。鍵長は1024bit以上、できれば2048bitが推奨されています。
■ ステップ3:DMARCポリシーをp=noneで開始する
SPFとDKIMが安定して動いていることを確認したら、DMARCをp=noneで設定します。これは「認証失敗してもメールはそのまま通してください、ただしレポートだけ送ってください」というモードで、いきなり配送に影響を与えずに現状把握ができる安全な始め方です。
レポート受信用のメールアドレス(ruaタグで指定)を入れておけば、毎日XML形式のレポートが届きます。これを分析することで、自社ドメインを正しく使えていない送信元や、なりすましの実態が見えてきます。
■ ステップ4:レポートを見ながらポリシーを強化していく
レポートを2〜3か月分析して、正規の送信元がすべてSPF・DKIMをパスしている状態が確認できたら、ポリシーをp=quarantine(迷惑メール扱い)に進めます。さらに問題がなければ、最終的にp=reject(受信拒否)まで強化することで、自ドメインを偽装したなりすましメールに対しては非常に効果の高い対策になります。
ここまで一気に進めると、設定漏れがあった正規メールまで届かなくなるリスクがあるので、慎重に段階を踏むことが大切なんです。
【まとめ】
メールの送信ドメイン認証は、もはや「セキュリティに詳しい一部の会社だけがやる対策」ではなくなりました。GmailやYahoo!、Outlookという主要メールサービスが要件化を進めている以上、対応していないドメインは「届かないメールアドレス」になっていく流れです。
SPFは送信元の宣言、DKIMは電子署名、DMARCはその結果に基づく方針指定。この3つを順番に整えていけば、なりすましから自社ブランドを守りつつ、正規のメールが届きやすくなる環境が手に入ります。
設定そのものはDNSへのレコード追加が中心で、サーバーの大規模な改修は必要ありません。まずはDMARCレポートで現状を可視化するところから始めて、無理なく段階的に強化していくのが現実的だと思います。
この記事が、メール認証まわりの整理と最初の一歩の参考になれば幸いです。




