DKIMはなぜ失敗するのか?
すべてを正しく行ったにもかかわらず、メールを送ったのに受信者に届かなかった、という経験はありませんか? メール送信ドメインをSPF、DKIM、DMARCで認証したのに、なぜかメールが届かない。さて、この背後にある理由の1つは、あなたの認証プロトコル、特にDKIMが正しく設定されていないことかもしれません。
このガイドは、DKIMに関する完全ガイドの一部です。関連: DKIM署名、DKIMレコード。
すべてを正しく行ったにもかかわらず、メールを送ったのに受信者に届かなかった、という経験はありませんか? メール送信ドメインをSPF、DKIM、DMARCで認証したのに、なぜかメールが届かない。
DKIM(RFC 6376)はメールメッセージを暗号学的に署名し、SPFとは異なり、署名はメールの転送を経ても維持されます。これが、転送されるメールやメーリングリストにとって、DKIMによるDMARCアラインメントがSPFアラインメントよりも信頼できる理由です。
詳しくはDKIM総合ガイドをご覧ください。
さて、この背後にある理由の1つは、あなたの認証プロトコル、特にDKIMが正しく設定されていないことかもしれません。
DKIM(DomainKeys Identified Mail)は、メールのデジタル署名のようなもので、メールが確かにあなたのドメインから来ており、途中で改ざんされていないという事実を確立するのに役立ちます。DKIMが問題なく機能していれば、受信者のサーバーはDKIM署名を正常に検証し、メールが改ざんされていないと信頼します。しかし失敗すれば、サーバーはそれを信頼できないものと見なし、受信者のメールボックスに届くのを防ぐかもしれません。そうなると、あなたのメールキャンペーンの努力がすべて水の泡になってしまいます。
しかし朗報は、DKIMの失敗は簡単に修正でき、メールが目的地である受信者の受信トレイに届くようにできることです。
では、どうすればよいのでしょうか? どのようにしてDKIMの失敗を防いだり修正したりして、スムーズなメール配信を確保するのでしょうか? この記事ではそのすべてを取り上げます!
DKIM失敗とは何ですか?
DKIM失敗とは、メールのデジタル署名が受信者のサーバーで検証できないときに起こります。これは単に、メールがあなたのドメインから送信されたものとして認証できないことを意味し、そのためセキュリティシステムがそれを疑わしいものとしてフラグを立てる可能性があります。
DKIMが失敗した場合、メールは拒否されるか迷惑メールフォルダに入り、その結果、メール配信性が低下します。
何が起こるかというと、次のとおりです。
DKIM署名されたすべてのメールは、そのヘッダーに暗号学的な署名を持っています。受信者のサーバーに到達すると、その署名を送信者のDNSレコードにある公開DKIM鍵と照合してチェックします。署名が見つからないか、存在するものが一致しない場合、DKIM認証は失敗します。同様に、公開鍵が正しくないと判明した場合も、やはり認証は失敗します。
DKIM失敗の背後にあるよくある理由は何ですか?
一つ確かなことは、DKIM設定の抜け穴を特定しない限り、メールは認証に失敗し続け、配信性とドメインレピュテーションに影響を与えるということです。
DKIMを設定する際に注意すべき、よくある落とし穴をいくつか挙げます。
DKIMレコードの構文が正しくない
適切なDKIMレコードジェネレーターを使わずに手動でDKIMを設定すると、DNSレコードにうっかりエラーを持ち込んでしまうことがあります。文字の欠落や不適切な書式など、ほんの小さな間違いでもDKIMを失敗させる可能性があります。
DKIMアラインメントの問題
ドメインにDMARCが設定されている場合、DKIMはそれとアラインすべきです。これは、DKIM署名内のd=の値が、「From」アドレスに含まれるドメインと一致すべきであることを意味します。これらが一致しない場合、DKIM認証は失敗することがあります。
サードパーティのメールサービスでDKIMを省略する
ドメインをDKIMで適切に認証したかもしれませんが、サードパーティのベンダーやサービスプロバイダーを考慮に入れなかった可能性があり、それがメールが受信者の受信トレイに届かない理由かもしれません。MailchimpやAWSのようなサービスを使ってあなたに代わってメールを送信する場合、それらもDKIM認証が必要です。それらに対して設定していなければ、DKIMが失敗するかもしれません。
サーバー通信の問題
時には、問題があなたの側、つまりDNSにあるのではないこともあります。時には、問題はメールサーバー自体にあります。
ここで言いたいのは、すべてのサーバーがDKIMを有効にしているわけではなく、DKIMがない、あるいは署名がまったく追加されていないサーバーからメールを送信すると、受信サーバーはそれを危険信号と見なし、受信者のメールボックスに入るのを止めてしまう、ということです。
送信後にメールの内容が変更される
マーケティングサービスやCRMプラットフォームのようなサードパーティのベンダーからメールを送信すると、追跡リンク、フッター、免責事項などをメールに追加することがあります。これらは受信者にとっては無害ですが、受信サーバーはそれらを、あなたの側から送信された元のメールへの改変と見なします。
DKIMの本来の目的はメールの内容の真正性を確認することなので、ごく些細な変更でもフラグが立てられ、DKIM失敗につながる可能性があります。
DNSがダウンしているか正しく機能していない
DKIMは、あなたのDNS設定に一意の鍵を保管することで機能します。メールを送信すると、受信者のメールサーバーは、DKIM署名が有効かどうかをチェックするために、あなたのDNS設定でその特定の鍵を探します。しかし、サーバーのメンテナンス、技術的な問題、あるいは単に応答していないなどの何らかの理由でDNSがダウンしていると、メールサーバーはそれを見つけられず、DKIM検証プロセスに失敗します。
OpenDKIMの問題
一部のメールサービスは、DKIM署名を検証する無料ツールであるOpenDKIMを使用しています。このツールに問題がある場合、または誤ったファイル権限やサーバー接続の問題など、適切に設定されていない場合、認証の失敗を引き起こすことがあります。
DKIM失敗を修正するために何ができますか?
メールがすべて届かない場合、何がうまくいっていないのかを突き止めるために、DKIM設定を見直す必要があるかもしれません。
DKIM失敗を修正するためにできることは次のとおりです。
-
DKIMレコードを生成する際は、DKIMジェネレーターの方が優れています。手入力せず、代わりに私たちのDKIMレコードジェネレーターツールを使い、単にコピー&ペーストしてタイプミスを避けてください。
-
DKIMレコードを念入りに確認してください。 どんなに些細であっても、ほんのわずかなエラー、スペース、削除された文字でも、DKIMを完全に失敗させることがあります。
-
SPFとDMARCを有効にしていることを確認してください。これらのプロトコルは一緒に使うと最も効果的です。DKIMが失敗しても、SPFが正しければ、DMARCはメールを拒否するのではなく配信を許可できます。そのため、そのフォールバックを確実に保つために、SPF PermErrorを修正する問題を速やかに解決してください。
-
DMARCレポートを有効にしてください。これらのレポートは、どのメッセージがDKIM検証に失敗しているか、そしてその理由を教えてくれます。
-
メールセキュリティツールやオンラインのDKIMチェッカーを使って、DKIM失敗レポートを定期的に監視し、認証結果を確認してエラーを早期に発見してください(選択肢の比較はEasyDMARCの代替のまとめをご覧ください)。
-
Google Workspace、Mailchimp、SendGridなどのサードパーティのメールサービスを使う場合は、それがDKIMに対応していることを確認し、その要件に従って機能を正しく設定してください。