【ITニュース解説】Email Deliverability Checklist for Developers: SPF, DKIM, DMARC, and Beyond
2026年11月04日に「Dev.to」が公開したITニュース「Email Deliverability Checklist for Developers: SPF, DKIM, DMARC, and Beyond」について初心者にもわかりやすく解説しています。
ITニュース概要
メール送信システムを構築する際、メールを確実に受信箱へ届けるには、SPF、DKIM、DMARCでの認証設定が不可欠だ。また、ドメインのウォームアップ、送信者評判の監視、バウンスや苦情の適切な処理、迷惑メールと判定されないコンテンツ作成も重要となる。
ITニュース解説
システムエンジニアとしてサービスやツールを開発する際、メール送信機能は非常に重要である。しかし、メールを送るだけで終わりではなく、それが実際に受信者の元に届くかどうかが成功の鍵を握る。この「メールがきちんと届くこと」を「デリバラビリティ(到達性)」と呼び、開発者にとってこの原則を理解し、実践することは不可欠である。ここでは、メールの到達性を高めるための具体的なチェックリストと対策について詳しく解説する。
まず、メールが正しく送信元から届いたものであることを証明する認証技術の設定が重要である。その一つがSPF(Sender Policy Framework)だ。SPFは、送信元のドメインがメールを送信することを許可しているIPアドレスを、受信側のメールサーバーに伝える仕組みである。具体的には、ドメインのDNS設定にTXTレコードとして記述する。例えば、「v=spf1 include:_spf.google.com include:sendgrid.net ~all」のように設定することで、GoogleのメールサービスやSendGridといった第三者のメール送信サービスからのメールを、自社のドメインからの正当なメールとして認めさせる。このSPFレコードには、メールを送信する可能性のある全てのサービスを含める必要があり、末尾に「~all」(ソフトフェイル)または「-all」(ハードフェイル)を設定して、認証されなかったメールの扱いを指示する。ただし、SPFレコードのDNSルックアップ回数は10回以内という制限があり、これを超えると認証が黙って失敗する可能性があるため注意が必要である。
次に、DKIM(DomainKeys Identified Mail)の設定も欠かせない。DKIMは、メールのヘッダーにデジタル署名を付与することで、送信途中でメールの内容が改ざんされていないこと、そして正規の送信元から送られたことを受信側が検証できるようにする技術である。この設定には、公開鍵と秘密鍵のペアが必要となる。ほとんどのメール送信サービスがこの鍵ペアの生成をサポートしている。生成された公開鍵は、SPFと同様にドメインのDNSにTXTレコードとして公開し、秘密鍵はメール送信時に自動的にメッセージに署名するために使われる。セキュリティの観点から、DKIMの鍵は定期的に(例えば6ヶ月から12ヶ月に一度)ローテーションすることが推奨される。
そして、SPFとDKIMの認証結果に基づき、認証に失敗したメールをどのように処理するかを受信サーバーに指示するのがDMARC(Domain-based Message Authentication, Reporting, & Conformance)である。DMARCもドメインのDNSにTXTレコードとしてポリシーを公開する。例えば、「_dmarc.yourdomain.com TXT "v=DMARC1; p=quarantine; rua=mailto:dmarc-reports@yourdomain.com; pct=100"」のような設定となる。DMARCポリシーには、「p=none」(監視のみ)、「p=quarantine」(認証失敗メールを迷惑メールに隔離)、「p=reject」(認証失敗メールを完全に拒否)のオプションがある。最初のうちは「p=none」から始めて、認証レポートを収集し、問題がないことを確認しながら、徐々にポリシーを厳しくしていくのが一般的な運用方法である。これにより、不正なメール送信者からのなりすましメールを防ぎ、自社のドメインの信頼性を守ることができる。
これらの認証設定が完了しても、新しいドメインやIPアドレスからいきなり大量のメールを送信すると、迷惑メールとしてフラグが立てられる可能性が高い。これを防ぐために「ウォームアップ」という作業が必要である。ウォームアップとは、最初は少量のメールから送信を始め、徐々に送信量を増やしていくことで、メールプロバイダーからの信頼を構築していくプロセスである。例えば、最初の週は1日あたり20〜50通のメールを送信し、次週にはその倍に増やし、その後も数週間かけて徐々にスケールアップしていく。この間、バウンス率(メールが届かなかった割合)やスパム苦情の発生状況を注意深く監視することが重要である。
メールの到達性を維持するためには、送信者としてのレピュテーション(信頼度)を常に監視する必要がある。Google Postmaster Toolsは、ドメインのレピュテーション、スパム率、認証結果などを確認できる無料ツールである。また、MXToolboxはDNSレコードの検証やブラックリスト登録状況の監視に役立ち、Mail-tester.comはテストメールを送信してデリバラビリティスコアを評価できる。これらのツールを定期的に活用し、問題の兆候を早期に発見し対処することが望ましい。
メール送信時に発生するバウンス(不達)やスパム苦情への適切な対応も、送信者レピュテーションに大きく影響する。特に「ハードバウンス」(存在しないメールアドレスなど、恒久的な不達)は、すぐに送信リストから削除する必要がある。一方、「ソフトバウンス」(受信トレイの容量不足など、一時的な不達)は、何度か再送を試みた後に、それでも届かなければリストから削除するという処理が一般的である。スパム苦情はさらに深刻で、受信者からの苦情が多発すると、すぐにレピュテーションが低下し、他の正当なメールまで届かなくなる可能性が高まるため、迅速な対応が求められる。これらの処理は、Webフックなどを利用して自動化することで、効率的に行うことができる。
最後に、認証設定が完璧であったとしても、メールの内容自体がスパムフィルターに引っかからないように配慮することが重要である。例えば、件名に過度な大文字や句読点を使用したり、本文が画像のみで構成されていたりするメールは、スパムと判断されやすい傾向がある。HTML形式のメールだけでなく、プレーンテキスト形式の代替バージョンも用意し、テキストと画像の比率を適切に保つべきである。また、全てのメールに購読解除リンクを必ず含めること、そして送信元の「From」名とアドレスを常に一貫させることも、受信者からの信頼を得る上で非常に重要である。
メールのデリバラビリティは、一度設定すれば終わりというものではなく、継続的な監視と改善が必要な取り組みである。ここで述べた基本的な設定と運用方法をしっかりと実践することで、あなたの送るメールが意図した通りに受信者の元へ届く可能性を最大限に高め、開発するサービスの価値を向上させることができるだろう。