DMARC失敗

DMARC失敗:WordPressで意味と修正方法

要約:ChatGPTPerplexity

バウンスメッセージまたはメールヘッダーで「dmarc=fail」が表示されますか?それは DMARC の失敗です。受信プロバイダーはあなたのドメインがメールを送信したことを確認できませんでした。そのため、迷惑メールに分類したり、完全に拒否したりする可能性があります。

WordPress は標準でメールを送信できますが、ドメインで署名して送信することはできません。そのため、レコードは正しく見えるかもしれませんが、失敗の原因はアライメントにあります。

このガイドでは、原因の特定と WP Mail SMTP を使用した修正方法を説明します。

DMARC失敗の意味

DMARC の失敗は、SPF も DKIM も From ドメインでパスしなかったことを意味します。

パスするだけでは不十分です。少なくとも 1 つのチェックがパスし、かつ From ドメインと一致する必要があります。

そのため、メッセージは spf=pass および dkim=pass を表示しても、DMARC で失敗する可能性があります。両方のチェックはパスしましたが、他人のドメインのものでした。詳細については、SPF、DKIM、および DMARC ガイドを参照してください。

アライメントルールを1つの表で

すべてのメールには DMARC が比較する 3 つのドメインが含まれています。それぞれのドメインはここにあります:

ドメイン場所用途
From ドメイン受信者が表示する From: ヘッダーDMARC が保護するドメイン
SPF ドメインリターンパス (smtp.mailfrom)バウンスの送信先
DKIM ドメインDKIM 署名の d= タグメッセージに署名した人

SPF ドメインまたは DKIM ドメインが From ドメインと一致すると、DMARC はパスします。結果の組み合わせは次のとおりです:

SPF はパスして整列していますか?DKIM はパスして整列していますか?DMARCの結果
はいはい合格
はいいいえ合格
いいえはい合格
いいえいいえ失敗

DMARCアラインメント図:SPFドメインはFromドメインと一致しませんが、DKIMドメインは一致するため、DMARCはパスします

デフォルトでは、DMARCはリラックスしたアライメントを使用します。これは、mail.example.comのようなサブドメインがexample.comとアライメントされることを意味します。

DMARCに失敗したメールはどうなるか

次に何が起こるかは、送信者のDMARCレコードのポリシーによって異なります。3つのオプションがあります。

  • p=none: 受信者は通常どおりメールを配信し、レポートを送信します。
  • p=quarantine: 受信者はメールをスパムまたはジャンクに移動します。
  • p=reject: 受信者はメールを拒否し、送信者はバウンスを受け取ります。

p=noneの場合でも、チェックに失敗すると送信者評価に影響します。そして2024年2月以降、GmailとYahooはバルク送信者にDMARCアライメントの合格を要求しています。

プロのヒント: DMARCポリシー:なし vs 検疫 vs 拒否ガイドでは、DMARCについて詳しく説明しています。

プロバイダー別のDMARCバウンスエラー

各受信プロバイダーは、DMARCの失敗を異なる言葉で表現します。バウンスが発生した場合は、この表と照合してください。

プロバイダー表示されるエラー意味
Gmail550 5.7.26 ドメインのDMARCポリシーにより、example.comからの認証されていないメールは受け入れられませんDMARCに失敗し、ポリシーがrejectです
Gmail421 4.7.32(レート制限)または421 5.7.32(ブロック済み)「From:ヘッダーが認証されたSPFまたはDKIMの組織ドメインとアライメントされていません」SPFまたはDKIMは合格しましたが、Fromドメインではありませんでした
Gmail451 4.7.26「一時的なDNS障害により認証が妨げられています」Gmailはレコードを検索できませんでした。再試行します
Microsoft 365 / Outlook550 5.7.509 アクセス拒否、送信ドメインexample.comはDMARC検証に合格せず、DMARCポリシーは拒否ですrejectポリシーでのDMARC失敗
Yahoo / AOL554 5.7.9 ポリシー上の理由によりメッセージは受け入れられませんポリシーによる拒否。DMARCの失敗が一般的な原因の1つです
MimecastDNS認証:DMARC失敗MimecastはDMARCの失敗によりメッセージを保持または拒否しました
任意のヘッダーAuthentication-Results内のdmarc=fail受信者がチェックを実行しましたが、失敗しました

もし1社のみの受信者からバウンスが発生している場合は、その管理者にバウンスメッセージのAuthentication-Resultsヘッダーを尋ねてください。SPF、DKIM、またはアライメントが相手側で失敗したかどうかを示します。

メールヘッダーで原因を見つける方法

原因を素早く見つけるには、メールの認証ヘッダーを読むのが一番です。どのチェックが失敗し、各チェックがどのドメインを使用したかがわかります。

ステップ1:メールヘッダーを開く

まず、あなたのサイトからGmailアドレスにメールを送信してください。これは WP Mail SMTP » ツール » メールテスト から行えます。

Gmailでメールを開きます。次に ⋮ (その他) アイコンをクリックし、元のメッセージを表示 を選択します。

Gmailメッセージメニューを開き、「元のメッセージを表示」オプションをハイライト表示

Gmailは上部にSPF、DKIM、DMARCの結果を示す概要テーブルを表示します。その下に生のヘッダーがあります。

Gmailの「元のメッセージを表示」ページにSPF、DKIM、DMARCのサマリー行が表示され、DMARCはFAILとマークされています

ステップ2:Authentication-Results行を読む

Authentication-Results で始まる行までスクロールします。典型的な失敗例は次のとおりです。

Authentication-Results: mx.google.com;
  dkim=pass [email protected] header.s=s1;
  spf=pass [email protected];
  dmarc=fail (p=REJECT sp=REJECT dis=REJECT) header.from=example.com

その行にある3つのドメインを比較します。

  • header.from: example.com はFromドメインです。
  • smtp.mailfrom: em.mailservice.net はSPFドメインです。一致しません。
  • header.i または header.d: em.mailservice.net はDKIMドメインです。これも一致しません。

したがって、両方のチェックはパスしましたが、どちらも一致しませんでした。これは典型的なDMARCの失敗です。

ステップ3:結果と原因を照合する

次に、見つけたパターンを原因に照合します。それぞれに次のセクションで修正方法があります。

ヘッダーに表示される内容最も可能性の高い原因
spf=pass および dkim=pass ですが、ドメインが異なりますあなたのメーラーがあなたのドメインで署名していません
dkim=none で、SPFドメインがあなたのホストのサーバーですWordPressがPHPメール経由で送信しています
header.from がGmailまたはYahooのアドレスですあなたのフォームが訪問者のメールをFromとして使用しています
1つのサービスのみで spf=fail または spf=softfail別のサービスがSPFに含まれていません
spf=permerrorあなたのSPFレコードが壊れています
あなたにとっては合格しましたが、受信者にとっては失敗しましたメールが転送されました

WordPressメールを今すぐ修正する

DMARC失敗の一般的な原因(およびそれぞれの修正方法)

WordPressサイトでのDMARCの失敗のほとんどは7つの原因から発生します。最初の2つはWordPressに特有なので、そこから始めます。

WordPressがPHP Mail経由で送信している

デフォルトでは、WordPressはウェブサーバー上のPHPの mail() 関数を使用してメールを送信します。そのサーバーには通常、あなたのドメイン用のDKIMキーがありません。

Return-Pathは、多くの場合、あなたのホストのサーバー名です。例えば [email protected] のようなものです。そのため、SPFはホストではパスしますが、あなたのドメインとは一致しません。

修正方法: WP Mail SMTPを使用して、専用のメーラー経由で送信してください。これは下の修正セクションで説明します。

あなたのフォームが訪問者のメールをFromアドレスとして使用しています

一部のフォームプラグインでは、From Emailをフォームフィールドに設定できます。例えば、WPFormsではFrom Emailアドレスを設定できます。それを訪問者のメールアドレスに設定すると、あなたのサーバーは [email protected] であるかのようにメールを送信することになります。

Yahoo と AOL は両方とも p=reject を公開しています。この記事を書いている時点で確認しましたが、両方ともまだそうでした。

つまり、Yahoo と AOL は、通知が届く前にそれらを拒否しています。

_dmarc.yahoo.com   "v=DMARC1; p=reject; pct=100; ..."
_dmarc.aol.com     "v=DMARC1; p=reject; pct=100; ..."

修正方法: 送信元メールアドレスを自分のドメインのメールアドレスに設定します。代わりに、受信者のメールを Reply-To フィールドに入れます。

WPForms通知設定で、From EmailはForce From Emailによってロックされ、Reply-Toは訪問者のEmailフィールドに設定されています

ワンクリックで返信できます。

警告: 所有していないドメインからメールを送信しないでください。DMARC に失敗するだけでなく、すべての受信プロバイダーにとってなりすましのように見えます。

メーラーがドメインで署名していません

メーラーを接続しましたが、その中でドメインを認証していません。そのため、サービスは sendlayer.net のような独自のドメインで DKIM に署名します。また、独自の返信パスも使用します。

両方のチェックは合格しますが、どちらも一致しません。これは、上記の Authentication-Results の例からのヘッダーパターンです。

修正方法: メーラーのダッシュボードでドメイン認証を完了します。DNS に追加する DKIM レコード(通常は CNAME)が提供されます。

それらが検証されると、d= タグがあなたのドメインになります。

別のサービスがメールを送信しており、SPF に含まれていません

あなたのサイトはおそらく、ドメインとして送信している唯一のものではないでしょう。他のツールも送信している可能性があります:

  • Google Workspace
  • ニュースレターツール
  • ヘルプデスク
  • ストアプラットフォーム

それらのいずれかが SPF レコードに含まれておらず、ドメインとして DKIM に署名していないとします。その場合、そのメールは DMARC に失敗します。

修正方法: ドメインとして送信するすべてのサービスをリストアップします。次に、各サービスの SPF include を追加し、DKIM を設定します。

DMARC の集計レポートにはすべてのソースが表示されるため、このリストを作成しやすくなります。複数の SPF レコードを追加する方法については、複数の SPF レコードの追加 ガイドを参照してください。

SPFレコードが壊れているか、ルックアップ制限を超えている

壊れた SPF レコードは、すべての送信者に対して一度に失敗します。最も一般的な 2 つの問題は、重複した SPF レコードと 10 を超える DNS ルックアップです。

ここに 2 つのレコードを持つ壊れたセットアップがあります:

example.com  TXT  "v=spf1 include:_spf.google.com ~all"
example.com  TXT  "v=spf1 include:spf.mailservice.net ~all"

そして、ここに修正されたバージョンがあり、1 つのレコードにマージされています:

example.com  TXT  "v=spf1 include:_spf.google.com include:spf.mailservice.net ~all"

修正方法: それらを 1 つのレコードにマージし、もはや使用しないサービスの include を削除します。

注意: 複数の SPF レコードを追加する方法については、複数の SPF レコードの追加 ガイドを参照してください。

WP Mail SMTPでWordPressのDMARC失敗を修正する方法

WordPress で DMARC の失敗を修正するには、ドメインで署名するメーラーを使用します。次に、そのドメインで送信元メールアドレスを強制し、メーラーの DNS レコードを追加します。

WP Mail SMTP はメーラーと送信元メールアドレスの設定を処理します。手順は次のとおりです。

ステップ1:ドメインで署名するメーラーを接続する

WP Mail SMTP » 設定 に移動し、セットアップウィザードの起動 をクリックします。次に、SendLayer、Brevo、Mailgun、または Amazon SES などのメーラーを選択します。

WP Mail SMTP セットアップウィザードのメーラー選択画面

ウィザードはアカウントの接続を案内します。

各メーラーの設定ガイドには、ドメインの認証も含まれています。これは DKIM アライメントを修正する部分です。

すべてのバージョンで利用可能なメーラーWP Mail SMTP Pro のメーラー
SendLayerAmazon SES
SMTP.comMicrosoft 365 / Outlook.com
BrevoZoho Mail
Google Workspace / Gmail
Mailjet
Mailgun
Postmark
SendGrid
SMTP2GO
SparkPost
Elastic Email
その他のSMTP

プロのヒント: SendLayer メーラーには、DNS レコードの認証ステップをスキップして 2 分未満で接続できるクイック接続機能が含まれています。詳細については、クイック接続を使用した SendLayer のセットアップ ガイドを参照してください。

ステップ2:From Emailを設定し、強制する

メーラーを設定したら、WP Mail SMTP » 設定 » 一般に移動します。送信元メールアドレスフィールドに、認証したドメインのメールアドレスを入力します。

WP Mail SMTP 一般設定タブ(差出人メール入力済み、差出人メール強制チェックあり)

次に、送信元メールアドレスを強制ボックスをチェックします。これにより、訪問者のメールに設定されたフォームプラグインを含む、すべてのプラグインがそのアドレスを使用するようになります。

私のテストサイトの設定は以下のようになります。

From Email:        [email protected]
Force From Email:  On
From Name:         Example Store
Force From Name:   Off

プロのヒント: その他のSMTPメーラーを使用する場合は、返信パスもチェックしてください。これにより、返信パスが送信元メールアドレスと一致するように設定され、SPFの整合性が向上します。

ステップ3: メーラーのSPFおよびDKIMレコードを追加する

次に、メーラーから提供されたDNSレコードを追加します。ほとんどの場合、DKIMのCNAMEとSPFのincludeが提供されます。

完全なセットは以下のようになります。

example.com              TXT    "v=spf1 /include:spf.mailservice.net ~all"
s1._domainkey.example.com  CNAME  s1.domainkey.mailservice.net
_dmarc.example.com       TXT    "v=DMARC1; p=none; rua=mailto:[email protected]"

メーラーのホスト名は異なりますので、メーラーのダッシュボードからコピーしてください。

DNSの変更が反映されるまでには、数分から数時間かかる場合があります。

重要: SPF includeを既存のSPFレコードに追加してください。2つ目のレコードを作成しないでください。そうしないと、すべての送信者に対してSPFが機能しなくなります。DMARCレコードの作成に関する詳細については、DMARCレコードの作成方法に関するガイドをご覧ください。

ステップ 4: Email Detective で修正をテストする

レコードが有効になったら、再度テストを送信してください。私は2回チェックすることをお勧めします。1回はメールテストで、次にメール探偵でチェックします。幸いなことに、WP Mail SMTPには両方のテストオプションが含まれています。

テストメールを送信するには、WP Mail SMTP » ツール » メールテストに移動してテストメールを送信します。SPF、DKIM、またはDMARCの問題が見つかった場合は、修正方法とともにドメインチェック結果が表示されます。

WP Mail SMTP メールテストタブ(送信先フィールドとメール送信ボタンあり)

次に、同じページのメール探偵タブをクリックします。これはSendLayerの無料の配信可能性チェッカーで、WP Mail SMTPに組み込まれています。

WP Mail SMTP ツールページ(メール探偵タブを開き、配信テスト実行ボタンあり)

メールアドレスを入力し、配信可能性テストを実行をクリックします。サイトはプライマリ接続を通じてテストを送信し、メール探偵がレポートへのリンクをメールで送信します。

レポートを開き、認証を確認します。SPF、DKIM、DMARCはすべてパスする必要があります。

それでもいずれかが失敗する場合は、修正方法リストに問題が記載されています。DKIMが欠落している場合のレポート例を以下に示します。

メール探偵のサンプルレポート(認証がフラグ付けされ、DKIM署名の欠落を記載した修正事項リストあり)

この問題を、メールヘッダーから原因を見つける方法の対応表と照合し、修正して再テストしてください。完全なテストチェックリストについては、メール配信可能性をテストする方法に関するガイドをご覧ください。

設定後の DMARC 失敗のトラブルシューティング

4つのステップの後も失敗しますか?最初に確認すべき3つの症状を以下に示します。

DKIMがメーラーのドメインをまだ表示している

メーラーでドメインがまだ認証されていません。メーラーのダッシュボードのドメインページを確認し、すべてのDKIMレコードが認証済みと表示されていることを確認してください。

レコードを追加したばかりの場合は、DNSに数時間かかります。その後、再度テストを送信してください。

SPF が Permerror を表示する

おそらくSPFレコードが2つあるか、10回のDNSルックアップを超えています。上記の壊れたSPFの原因で示されているように、レコードを1つにマージしてください。

テストでは DMARC がパスするが、受信者 1 名で失敗する

これは、受信者側の転送またはゲートウェイを示しています。その受信者の管理者に、バウンスされたコピーからAuthentication-Resultsヘッダーを取得するように依頼してください。

メールを DMARC パスし続ける方法

ほとんどのDMARCエラーは、新しい送信サービスが追加されたときに発生します。早期に検出するための習慣をいくつかご紹介します。

  1. ruaレポートをオンにする:集計レポートには、あなたのドメインとして送信しているすべてのサーバーがリストされます。これには、あなたが忘れていたものも含まれます。
  2. 新しいツールは送信前にチェックする:新しいサービスは、オンにする前にSPFとDKIMを設定してください。
  3. メールログをオンにする:WP Mail SMTP Proは、あなたのサイトが送信するすべてのメールを記録します。エラーを素早く発見できるでしょう。
  4. 強制適用にはゆっくり移行する:レポートがクリーンになるまでp=noneのままにしてください。その後quarantineに移行します。

WP Mail SMTPはWordPressサイトが送信するメールのみを制御することに注意してください。Google Workspaceやニュースレターツールからのメールは、それぞれ独自の設定が必要です。

よくある質問

DMARCエラーについてよく受ける質問への回答を以下に示します。

SPFとDKIMがパスしてもDMARCは失敗しますか?

はい。DMARCがパスするには、Fromアドレスと同じドメインのSPFまたはDKIMに合格する必要があります。

メーラーが独自のドメインで署名する場合、両方のチェックはパスしますが、DMARCは失敗します。メーラーでドメインを検証することで、これが修正されます。

転送されたメールはDMARC失敗の原因になりますか?

はい。転送はSPFを壊します。なぜなら、転送サーバーがあなたのSPFレコードに含まれていないからです。

アラインされたDKIMは通常、転送を生き残ります。そのため、転送されたメールでもDMARCをパスできます。

WordPressのお問い合わせフォームのメールがDMARC失敗するのはなぜですか?

あなたのフォームは、おそらく訪問者のメールアドレスから「From」として送信しています。yahoo.comのようなドメインは、あなたのサーバーを承認していないため、それを拒否します。

From Emailをあなた自身のドメインに設定し、訪問者をReply-Toに設定してください。その後、WP Mail SMTPでForce From Emailをオンにします。

DMARC修正が機能するまでどのくらい時間がかかりますか?

DNSの変更が反映されると、修正が適用されます。これは多くの場合1時間以内ですが、DNSプロバイダーによっては最大48時間かかる場合があります。

変更後、新しいテストを送信してください。古いメールは元の結果を保持するためです。

DMARC失敗は、私のドメインがなりすまされたことを意味しますか?

必ずしもそうではありません。ほとんどのDMARCエラーは、完全に設定されていないあなた自身のサービスから発生します。

しかし、レポートに不明な送信元がある場合、誰かがあなたをなりすましている可能性があります。p=rejectに移行することで、それを停止できます。

次に、DMARC ポリシーを強制に移行します

メールがDMARCをパスしたら、次のステップは保護をオンにすることです。私のガイド「DMARCポリシー未有効の警告を修正する方法」でそれをカバーしています。

これは、p=noneからrejectに安全に移行する方法を示しています。これは、受信トレイプロバイダーにあなたのドメインからのなりすましメールを拒否するように指示するステップです。

WordPressメールを今すぐ修正する

メールの修正準備はできましたか?今日から始めましょう WordPressの最高のSMTPプラグインで。メールを修正する時間がない場合は、追加購入で完全なWhite Glove Setupアシスタンスを利用でき、すべての有料プランで14日間の返金保証が付いています。

この記事がお役に立った場合は、WordPressのヒントやチュートリアルについては、FacebookとTwitterでフォローしてください。

開示:当社のコンテンツは読者によってサポートされています。これは、当社のリンクの一部をクリックすると、手数料が発生する可能性があることを意味します。WPFormsがどのように資金調達されているか、なぜそれが重要なのか、そしてどのように私たちをサポートできるかをご覧ください。

デビッド・オゾコイェ

DavidはWP Mail SMTPのテクニカルライターです。彼はWP Mail SMTPプラグインの新機能とアップデートをテストし、文書化しています。コンピューターから離れているときは、ビデオゲームやローラースケートを楽しんでいます。 詳細はこちら

無料のWP Mail SMTPプラグインをお試しください

お気に入りのSMTPプロバイダーを使用して、WordPressのメールを確実に送信してください。