AI要約
バウンスメッセージまたはメールヘッダーで「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はリラックスしたアライメントを使用します。これは、mail.example.comのようなサブドメインがexample.comとアライメントされることを意味します。
DMARCに失敗したメールはどうなるか
次に何が起こるかは、送信者のDMARCレコードのポリシーによって異なります。3つのオプションがあります。
- p=none: 受信者は通常どおりメールを配信し、レポートを送信します。
- p=quarantine: 受信者はメールをスパムまたはジャンクに移動します。
- p=reject: 受信者はメールを拒否し、送信者はバウンスを受け取ります。
p=noneの場合でも、チェックに失敗すると送信者評価に影響します。そして2024年2月以降、GmailとYahooはバルク送信者にDMARCアライメントの合格を要求しています。
プロバイダー別のDMARCバウンスエラー
各受信プロバイダーは、DMARCの失敗を異なる言葉で表現します。バウンスが発生した場合は、この表と照合してください。
| プロバイダー | 表示されるエラー | 意味 |
|---|---|---|
| Gmail | 550 5.7.26 ドメインのDMARCポリシーにより、example.comからの認証されていないメールは受け入れられません | DMARCに失敗し、ポリシーがrejectです |
| Gmail | 421 4.7.32(レート制限)または421 5.7.32(ブロック済み)「From:ヘッダーが認証されたSPFまたはDKIMの組織ドメインとアライメントされていません」 | SPFまたはDKIMは合格しましたが、Fromドメインではありませんでした |
| Gmail | 451 4.7.26「一時的なDNS障害により認証が妨げられています」 | Gmailはレコードを検索できませんでした。再試行します |
| Microsoft 365 / Outlook | 550 5.7.509 アクセス拒否、送信ドメインexample.comはDMARC検証に合格せず、DMARCポリシーは拒否です | rejectポリシーでのDMARC失敗 |
| Yahoo / AOL | 554 5.7.9 ポリシー上の理由によりメッセージは受け入れられません | ポリシーによる拒否。DMARCの失敗が一般的な原因の1つです |
| Mimecast | DNS認証:DMARC失敗 | MimecastはDMARCの失敗によりメッセージを保持または拒否しました |
| 任意のヘッダー | Authentication-Results内のdmarc=fail | 受信者がチェックを実行しましたが、失敗しました |
もし1社のみの受信者からバウンスが発生している場合は、その管理者にバウンスメッセージのAuthentication-Resultsヘッダーを尋ねてください。SPF、DKIM、またはアライメントが相手側で失敗したかどうかを示します。
メールヘッダーで原因を見つける方法
原因を素早く見つけるには、メールの認証ヘッダーを読むのが一番です。どのチェックが失敗し、各チェックがどのドメインを使用したかがわかります。
ステップ1:メールヘッダーを開く
まず、あなたのサイトからGmailアドレスにメールを送信してください。これは WP Mail SMTP » ツール » メールテスト から行えます。
Gmailでメールを開きます。次に ⋮ (その他) アイコンをクリックし、元のメッセージを表示 を選択します。
Gmailは上部にSPF、DKIM、DMARCの結果を示す概要テーブルを表示します。その下に生のヘッダーがあります。
ステップ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レコードが壊れています |
| あなたにとっては合格しましたが、受信者にとっては失敗しました | メールが転送されました |
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 フィールドに入れます。
ワンクリックで返信できます。
メーラーがドメインで署名していません
メーラーを接続しましたが、その中でドメインを認証していません。そのため、サービスは 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 を削除します。
WP Mail SMTPでWordPressのDMARC失敗を修正する方法
WordPress で DMARC の失敗を修正するには、ドメインで署名するメーラーを使用します。次に、そのドメインで送信元メールアドレスを強制し、メーラーの DNS レコードを追加します。
WP Mail SMTP はメーラーと送信元メールアドレスの設定を処理します。手順は次のとおりです。
ステップ1:ドメインで署名するメーラーを接続する
WP Mail SMTP » 設定 に移動し、セットアップウィザードの起動 をクリックします。次に、SendLayer、Brevo、Mailgun、または Amazon SES などのメーラーを選択します。
ウィザードはアカウントの接続を案内します。
各メーラーの設定ガイドには、ドメインの認証も含まれています。これは DKIM アライメントを修正する部分です。
ステップ2:From Emailを設定し、強制する
メーラーを設定したら、WP Mail SMTP » 設定 » 一般に移動します。送信元メールアドレスフィールドに、認証したドメインのメールアドレスを入力します。
次に、送信元メールアドレスを強制ボックスをチェックします。これにより、訪問者のメールに設定されたフォームプラグインを含む、すべてのプラグインがそのアドレスを使用するようになります。
私のテストサイトの設定は以下のようになります。
From Email: [email protected]
Force From Email: On
From Name: Example Store
Force From Name: Off
ステップ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の変更が反映されるまでには、数分から数時間かかる場合があります。
ステップ 4: Email Detective で修正をテストする
レコードが有効になったら、再度テストを送信してください。私は2回チェックすることをお勧めします。1回はメールテストで、次にメール探偵でチェックします。幸いなことに、WP Mail SMTPには両方のテストオプションが含まれています。
テストメールを送信するには、WP Mail SMTP » ツール » メールテストに移動してテストメールを送信します。SPF、DKIM、またはDMARCの問題が見つかった場合は、修正方法とともにドメインチェック結果が表示されます。
次に、同じページのメール探偵タブをクリックします。これはSendLayerの無料の配信可能性チェッカーで、WP Mail SMTPに組み込まれています。
メールアドレスを入力し、配信可能性テストを実行をクリックします。サイトはプライマリ接続を通じてテストを送信し、メール探偵がレポートへのリンクをメールで送信します。
レポートを開き、認証を確認します。SPF、DKIM、DMARCはすべてパスする必要があります。
それでもいずれかが失敗する場合は、修正方法リストに問題が記載されています。DKIMが欠落している場合のレポート例を以下に示します。
この問題を、メールヘッダーから原因を見つける方法の対応表と照合し、修正して再テストしてください。完全なテストチェックリストについては、メール配信可能性をテストする方法に関するガイドをご覧ください。
設定後の DMARC 失敗のトラブルシューティング
4つのステップの後も失敗しますか?最初に確認すべき3つの症状を以下に示します。
DKIMがメーラーのドメインをまだ表示している
メーラーでドメインがまだ認証されていません。メーラーのダッシュボードのドメインページを確認し、すべてのDKIMレコードが認証済みと表示されていることを確認してください。
レコードを追加したばかりの場合は、DNSに数時間かかります。その後、再度テストを送信してください。
SPF が Permerror を表示する
おそらくSPFレコードが2つあるか、10回のDNSルックアップを超えています。上記の壊れたSPFの原因で示されているように、レコードを1つにマージしてください。
テストでは DMARC がパスするが、受信者 1 名で失敗する
これは、受信者側の転送またはゲートウェイを示しています。その受信者の管理者に、バウンスされたコピーからAuthentication-Resultsヘッダーを取得するように依頼してください。
メールを DMARC パスし続ける方法
ほとんどのDMARCエラーは、新しい送信サービスが追加されたときに発生します。早期に検出するための習慣をいくつかご紹介します。
ruaレポートをオンにする:集計レポートには、あなたのドメインとして送信しているすべてのサーバーがリストされます。これには、あなたが忘れていたものも含まれます。- 新しいツールは送信前にチェックする:新しいサービスは、オンにする前にSPFとDKIMを設定してください。
- メールログをオンにする:WP Mail SMTP Proは、あなたのサイトが送信するすべてのメールを記録します。エラーを素早く発見できるでしょう。
- 強制適用にはゆっくり移行する:レポートがクリーンになるまで
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の最高のSMTPプラグインで。メールを修正する時間がない場合は、追加購入で完全なWhite Glove Setupアシスタンスを利用でき、すべての有料プランで14日間の返金保証が付いています。
この記事がお役に立った場合は、WordPressのヒントやチュートリアルについては、FacebookとTwitterでフォローしてください。