メールマーケティングは、ビジネスにおいて強力なマーケティング手段。とは言え、キャンペーンを展開しても、きちんと相手にメールが送信されなければ意味がありません。バウンスメールを頻繁に受信している場合は、DMARCの認証失敗を解決する必要があるかもしれません。

DMARCは、スパムやなりすましメールに対処するために作成された電子メール認証プロトコルです。DMARCの認証に失敗したメッセージの表示は、DMARCに基づくセキュリティチェックに何らかの問題があったことを意味します。幸い、この問題を解決するためにできることがいくつかあります。

この記事では、DMARCの概要とその仕組み、そして認証失敗の原因をご説明した後、解決方法を3つご紹介します。それでは、早速始めましょう。

DMARCの概要

DMARCは、Domain-Based Message Authentication, Reporting & Conformance(和訳:ドメインベースの認証、レポーティングと適合)の略で、Sender Policy Framework(SPF)およびDomainKeys Identified Mail(DKIM)に準拠したメール認証プロトコルです。メールドメインからメッセージを送信する人物が本物であり、なりすましや詐欺でないことを確認してくれます。

簡単に言えば、DMARCエラーというのは、送信メールがDMARCの認証に失敗したことを意味します。ちなみにDMARCは、ほとんどのメールマーケティングソフトウェアやサービスで採用されています。

DMARCの認証に失敗したメールを受信者がどのように処理すべきかを規定したものとしてDMARCポリシーがあり、その中身は以下の3パターンです。

  1. 拒否(reject)─完全に拒否されて配信されない
  2. 隔離(quarantine)─迷惑メールフォルダに配信
  3. 何もしない(none)─何も処理されず受信者へそのまま配信

DMARCの認証に失敗するということは、送信者の実際のアドレスが表向きのドメインと一致しないということになります。これには様々な理由が考えられますが、多くの場合、メールが偽造されている、または偽装されたIPアドレスから送信されているのが原因です。

なりすましメールには、機密情報の窃取やマルウェアの拡散などの目的があり、非常に危険です。また、悪意のあるリンクのクリックが誘発されたり、コンピュータに害を及ぼすファイルが添付されたりします。

詐欺メールは、実際のメールアドレスの盗用に起因することもあります。例えば、個人情報漏洩でメールアドレスが流出したり、誰かにログインパスワードを推測されたりすることが原因です。

DMARC認証失敗の原因

メールがDMARCの認証に失敗する原因は、いくつか考えられます。最も一般的なのは、なりすましアドレスからの送信ですが、それ以外にも以下のような理由が考えられます。

  • アライメントの失敗─メールの送信元アドレスが、メールを送信するドメインと一致しない。GmailやOutlookなどのサードパーティのメールサービスなどを使用してメールを送信している場合にはこれが考えられる。
  • アライメントモードが不適切─送信元アドレスは一致するが、DMARCが正しく設定されていない。
  • DKIM署名の設定がされていない─DKIM署名(メールが正しいドメインから送信されていることを確認するために使用されるデジタル署名)がない、もしくは無効な場合には、DMARCの認証に失敗することがある。

また、DNSのTXTレコードが設定されていないのが原因でエラーが起こっている可能性もあります。TXTレコードは、ドメインネームシステム(DNS)におけるテキストベースデータの保存に使用されます。先でも触れましたが、DMARCポリシーでは、SPFとDKIMの2つのTXTレコードが採用されています。

DMARCの認証に失敗したかどうかを確認する方法

DMARCの認証に失敗したかどうかを確認するには、主に2つの方法があります。

メールヘッダの確認

メールヘッダは、メール送信時に付加される情報で、送信者のIPアドレス、送信日時、などの詳細情報が含まれます。

例えばGmailの場合、メールヘッダは、メールの右上にある「返信」の横にある縦三点リーダーを選択して、「メッセージのソースを表示」をクリックすると確認できます。

Select the ‘Show original’ option in Gmail
Gmailの「メッセージのソースを表示」をクリック

すると、メッセージの詳細情報が表示され、DMARCの「PASS(合格)」か「FAIL(不合格)」かを確認することができます。

Viewing an original email header for a DMARC fail message
DMARCの失敗をメッセージのソースで確認

上記は、DMARCの認証が成功している例です。「DMARC:」が「FAIL」と表示される場合は、認証に失敗したことを意味します。

Outlookの場合は、メールの右上にある三点リーダーを選択し、「表示」>「メッセージの詳細を表示」をクリックすると、メールヘッダが表示されます。下までスクロールして、認証に失敗したメッセージがあるかどうかを確認しましょう。

DMARC解析・レポートツールの使用

DMARCの認証確認は、Google Admin Toolbox Messageheaderを利用して簡易化することができます。

You can use the the Google Admin Toolbox Messageheader tool
Google Admin Toolbox Messageheader

テキストボックスにメールヘッダを入力し、「上記のヘッダーを分析」をクリックするだけで、SPF、DKIM、DMARCの認証結果を確認することができます。

また、利用しているメールサービスのDMARCレポート解析で、DMARCの認証結果を調べることも可能です。認証に失敗したメールには、送信者、受信者、失敗の原因などの情報が記載されたレポートが送信されます。

このデータは、問題のトラブルシューティングやメールの配信性を高めるのに有用で、通常1日に1回、DMARCレコードの定義時に設定した受信トレイに送られます。

DNS設定にTXTレコードを追加すると、DMARCの障害レポートを見ることもできます。必要なDNSレコードの生成についての具体的な手順は、利用しているレンタルサーバーのドキュメントやサポートで直接確認することをお勧めします。

例えば、ActiveCampaignのDMARC DNS Verification Toolを使用する方法もあります。

The ActiveCampaign DMARC DNS Verification tool website homepage
ActiveCampaignのDMARC DNS Verification Tool

レコードを追加すると、メール受信者から指定したアドレスに障害レポートが配信されます。このレポートを元に、送信エラーのトラブルシューティングを行いましょう。

DMARCの認証失敗を解決するには(3つの方法)

DMARCエラーとその原因について詳しく理解したところで、次はその解決策を見ていきましょう。DMARCの認証失敗を解決するための3つの方法をご紹介します。

1. SPF/DKIM認証を有効化する

メール配信エラーを避けるには、DMARCの前に、まずSPFとDKIMを設定することが重要です。ドメインのDKIM署名を設定しない限り、一般的なメールサービスでは、送信メールにはデフォルトの署名が割り当てられます(例えばGmailの「d=domain.gappssmtp.com」)。

つまり、メールのヘッダにあるFromのドメインと一致しないことになります。SPF/DKIMレコードとDNSサービスの内容を一致させるには、DNS設定に次のTXTレコードを貼り付けます。

SPF: "v=spf1 include:_spf.google.com ~all"
DKIM: "v=DKIM1; k=rsa; p=[public key]"

次に、以下のTXTレコードをDNS設定に追加し、DMARCの設定を行います。

DMARC: "v=DMARC1; p=reject; sp=quarantine; rua=mailto:[email protected]"

「example.com」の部分は、実際のドメイン名に置き換えましょう。このレコードの編集場所については、利用しているDNSサービスに確認してください。

Kinsta DNSを使用している場合は、MyKinstaからDNSレコードを追加することができます。Kinstaの専用コントロールパネルには、アプリケーションのパフォーマンス監視(APM)ツールなど、問題を管理・トラブルシューティングできる機能とツールが豊富に揃っています。

サイトを選択した後、「Kinsta DNS」をクリックします。

MyKinstaでDNSレコードを追加
MyKinstaでDNSレコードを追加

タイプ」列で「TXT」レコードを検索します。SPFのTXTレコードを追加する場合は、MailChannelsで行ってください。なお、個別のDKIMレコードは追加できません(CNAME/TXTレコードのみ)。

2. DMARCポリシーを変更する

この記事の冒頭でも触れましたが、メールがDMARCの認証に失敗した場合の処理方法には、拒否(reject)、隔離(quarantine)、何もしない(none)の3種類があります。ポリシーレコード(p=)を「none」にすると、認証に失敗しても、メールは受信者の受信箱に配信されます。「reject」の場合は自分にバウンスメールが届き、「quarantinie」の場合は受信者の迷惑メールフォルダに配信されます。

したがって、解決策は、DMARCポリシーレコードを「p=none」に変更することです。以下のTXTレコードをDNS設定に貼り付けましょう。

DMARC: "v=DMARC1; p=none; sp=quarantine; rua=mailto:[email protected]"

この場合も、「example.com」の部分は、忘れずに実際のドメイン名に置き換えてください。なお、「none」ポリシーは最も安全な選択肢とは言えないため、一時的な解決策として使用するのが賢明です。

3. ドメインの認証を行う

Mailchimpなどのサードパーティのサービスを使ってマーケティングメールやトランザクションメールを送信する場合は、メールサービスが自分のドメインからのメール送信を許可するようにDNSレコードを設定する必要があります。DNSのエントリをDNSサーバーに紐付けると、特定のサーバーを認証することができます。

これには、まずドメインの認証が必要です。また、サードパーティのサービスでは、Googleなどの一般サービスのドメインではなく、自分または自社の独自ドメインのみ有効です。

ドメインのレコードを見つけたら、Mailchimp(または利用しているツール)の情報をドメインのCNAMEレコードにコピー&ペーストします。メールソフトやサービスによって、必要な情報や具体的な手順が異なる場合があるため、詳細に関しては、利用しているサービスの説明を確認してください。

ドメインレジストラの管理画面にログインすると、ドメインレコードを確認できます。cPanelまたはPleskが一般的ですが、Kinstaであれば、MyKinstaにログインして「Kinsta DNS」を選択します。

MyKinstaのDNSレコード
MyKinstaのDNSレコード

ドメインレコードを確認したら、Mailchimpに戻り、手順に従って、CNAMEレコードを追加してドメインを認証します。メールサービスにより、レコードが正確であることが確認されると、その旨を伝えるメールが届きます。

その他の対策

DMARC、SPF、DKIMに問題がないようなら、メールがスパムとして送信されている他の理由が考えられます。適切なメール配信、またはメール送信の全体的な手順の改善のために、以下を実践してみてください。

DMARCエラーが続く場合、特にそれが特定の受信者に対して発生している場合は、直接連絡を取り、自分のメールアドレスを受信許可リストに追加してもらうようお願いするのも手です。

まとめ

サイバー攻撃やフィッシング詐欺が頻繁に起こる現代では、セキュリティのベストプラクティスを遵守することが欠かせません。DMARCは、フィッシングなどの詐欺メールから受信者を保護するメール認証プロトコルですが、完璧な解決策とは言えません。

DMARC認証失敗のメッセージが何度も表示されてしまう場合でも、大丈夫。解決方法や対策はあります。SPFとDKIM認証の有効化、DMARCポリシーを変更することで、メールの配信性を高め、メールがスパムフォルダに振り分けられてしまうのを防ぐことができます。

ウェブサイトやメールマーケティングキャンペーンを賢く管理・監視できるサーバーをお探しですか?Kinstaのホスティングプラン無料のサイト移行の詳細をぜひご覧ください。