SPF/DKIM/DMARC/BIMIのすべてが解決するサイト!
一括無料診断ツール、設定値作成ツールも無料公開!
もうあちこちのサイトを見て回る必要はありません。

登録不要 無料 30秒

dmarc=fail — SPFもDKIMもpassなのに失敗するのはなぜか

最終更新: 2026-09-09

「SPFもDKIMもpassなのに、DMARCだけfailする」——これがもっとも多い相談です。故障ではなく、DMARCの判定条件が2段構えになっているためです。

このページでわかること
  • DMARCは「認証に合格」だけでなく「差出人ドメインと揃っている」ことも求めること
  • 配信サービスを使うと、この2つ目で落ちやすいこと
  • SPF側とDKIM側、それぞれの直し方

DMARCの合格条件

SPFとDKIMのうち、どちらか一方が「認証に成功し、かつ差出人ドメインと揃っている」なら合格です。両方そろえる必要はありませんが、片方が認証に成功していても、ドメインが揃っていなければ数に入りません。

spf=pass   smtp.mailfrom=bounces.esp.example.net   ← 認証OK・ドメインが違う → 数に入らない
dkim=pass  header.d=esp.example.net                ← 認証OK・ドメインが違う → 数に入らない
From: info@yourdomain.com                           ← 受信者に見えるのはこちら
                                                    → dmarc=fail

この「揃っているか」をアライメントと呼びます。仕組みの詳細はDMARC徹底解説、直し方はアライメント不一致の直し方にあります。

直し方は2つ。どちらか一方でかまいません

① DKIM側をそろえる(推奨)

配信サービスの管理画面で、自社ドメインでのDKIM署名を有効にします。d=yourdomain.com になれば、アライメントが成立します。

DKIM側を推す理由は、転送に強いからです。SPFは転送されると構造的に失敗しますが、DKIMは本文が書き換えられないかぎり生き残ります。

② SPF側をそろえる

配送に使う差出人(Return-Path)を、自社ドメインのサブドメインに変えます。配信サービスが「カスタムバウンスドメイン」「専用の送信ドメイン」などの名前で案内している設定です。

bounces@em.yourdomain.com になれば、yourdomain.com と同じ組織ドメインなので揃います。ただし aspf=s(厳格)を指定していると、サブドメインでは揃いません。既定の r のままにしてください。

アライメントを厳格にしていないか

DMARCレコードに adkim=saspf=s を書いていると、完全一致が必要になります。サブドメインを使う構成とは両立しません。

dig +short TXT _dmarc.yourdomain.com

特別な理由がなければ、既定の r(緩やか)のままにしてください。

誰のメールが落ちているのかを知る

rua= を設定していないと、この切り分けができません。設定していれば、どの送信元で fail が出ているかが毎日レポートで届きます(→DMARCレポートとは何か)。

個別のメールについては、ヘッダーを完全判定に貼り付けると、SPF・DKIM・アライメントのどこで落ちているかを判定できます。