Fromアドレスのドメインと一致するドメインで、SPFとDKIMのどちらも合格しない場合、DMARCは失敗します。メールがSPFとDKIMの両方に合格していても、それぞれが別のドメインに対して合格している場合、DMARCは失敗します。
まずヘッダーを確認する
受信側で失敗したメッセージのヘッダーを開き、Authentication-Resultsを探します。典型的な失敗例です。
Authentication-Results: mx.google.com;
dkim=pass header.i=@sendgrid.net;
spf=pass smtp.mailfrom=bounces.sendgrid.net;
dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=example.com
ここでは、DKIMはsendgrid.netに対して成功し、SPFはbounces.sendgrid.netに対して成功しています。受信者に表示されるドメインはexample.comです。どちらの結果もこのドメインに属していないため、DMARCは失敗します。p=NONEはドメインが公開したポリシーで、dis=NONEは受信側が行った処理です。つまり何もしておらず、これはp=noneの指定どおりです。
dmarc=failの隣にdkim=passとspf=passがある場合、ほぼ常にこれが原因です。"SPF and DKIM pass but DMARC fails"はまさにこの状態を意味します。認証結果は成功していますが、対象がご自身のドメインではありません。
よくある原因
送信サービスが独自ドメインで署名している。 ニュースレタープラットフォーム、CRM、ヘルプデスク、トランザクションメールプロバイダーは、利用者のドメイン用の設定が完了するまで、独自のDKIMキーで署名し、独自のバウンスアドレスを使用します。そのため、SPFもサービス側のドメインで合格します。解決するには、サービスの「authenticate your domain」手順を実行します。利用者のドメイン配下にDKIMレコード(多くの場合はCNAME)を設定し、サービスが対応している場合は、bounce.example.comのようなカスタムリターンパスも設定します。アライメントされたDKIM署名が1つあれば、DMARCは合格します。
Amazon SESをデフォルト設定で使用している。 メールはamazonses.comのリターンパスで送信されるため、SPFはアライメントされません。AWSの説明では、2つの解決方法が示されています。利用者のドメイン配下にキーを公開するEasy DKIMか、カスタムMAIL FROMドメインです。どちらを使用してもDMARCは合格します。
転送。 転送サーバーは独自のサーバーからメッセージを送信するため、次の転送先でSPFが失敗します。転送サーバーがメッセージを変更しなければ、DKIMは維持されます。メーリングリストがフッターや件名タグを追加するとDKIMも破損し、アライメントされた認証結果が何も残りません。他者が管理する転送サーバーは制御できません。そのため、この場合はすべてのメッセージにDKIM署名を付けることが、SPFよりも重要です。
DKIMキーが存在しないか、誤っている。 サービスは設定済みでも、レコードが削除されている、公開されていない、または別のセレクターで公開されている場合があります。DKIMチェッカーでは、指定したセレクターのキーが存在し、正しく解析できるかを確認できます。
厳格なアライメント。 レコードにadkim=sまたはaspf=sが設定されている場合、mail.example.comの署名はexample.comに対して有効と見なされなくなります。ほとんどの構成では、デフォルトの緩やかなアライメントが適しています。
"DNS Authentication: DMARC Fail" in Mimecast
Mimecastは、DMARCに失敗した受信メッセージにこの行を表示します。その上に"Policies Triggered"と表示されることも多く、その後のメッセージの処理は受信側組織のポリシーによって決まります。送信者の場合、これは上記と同じ失敗に別のラベルが付いているだけです。修正は送信者側で行い、DKIMまたはSPFをFromドメインに整合させます。受信側の管理者の場合、そのメッセージは実際に認証に失敗しています。その送信者をバイパス対象にすると、正規のメールだけでなく、その送信者を偽装したメールも通過します。
テスト結果での表示
DMARCチェックには「DMARC does not pass」と表示され、ドメイン名は隣の2つのアライメントチェックに表示されます。そこではドメインが並べて表示されます。たとえば、「DKIM signs for sendgrid.net but the From header says example.com」と表示されます。SPFの場合は、バウンスアドレスのドメインとFromドメインが並びます。見覚えのないドメインが記載されている行から、修正すべきサービスを特定できます。