DMARC レコードの書き方

DMARC は、自分のドメインをかたった偽メールを受信側にどう扱わせるか (そのまま受信 / 迷惑メール扱い / 拒否) を宣言するレコードです。なりすましを防ぎ、認証に失敗したメールの報告を受け取るために設定します。

名前を _dmarc にした TXT に、ポリシーとレポート先を書きます。最初は p=none です。

名前種別値TTL
_dmarcTXTv=DMARC1; p=none; rua=mailto:dmarc@example.jp3600

SPF か DKIM を先に設定しておきます。

3 段階で強める

  1. p=none観測だけ。届くレポートで、正規のメールが合格しているかを 2〜4 週間確かめます。
  2. p=quarantine失敗したメールを迷惑メール扱いに。pct で一部から試せます。
  3. p=reject失敗したメールを受け取らせません。なりすましを止める最終形です。

こう書く

段階値 (名前は _dmarc)
観測を始めるv=DMARC1; p=none; rua=mailto:dmarc@example.jp
4 分の 1 だけ隔離するv=DMARC1; p=quarantine; pct=25; rua=mailto:dmarc@example.jp
すべて隔離するv=DMARC1; p=quarantine; rua=mailto:dmarc@example.jp
拒否するv=DMARC1; p=reject; rua=mailto:dmarc@example.jp
メールを送らないドメインv=DMARC1; p=reject

手順の詳細: Google Workspace / Microsoft 365

各タグの意味

タグ意味省略時
v=DMARC1DMARC の始まり。必ず先頭必須
p=失敗したメールの扱い。none / quarantine / reject必須
rua=mailto:集計レポートの送信先。1 日 1 回ほど XML が届く届かない
ruf=mailto:失敗 1 通ごとのレポートの送信先。送らない受信側も多い届かない
pct=ポリシーを適用する割合 (0〜100)。残りは 1 段弱い扱い100
sp=サブドメインのポリシーp と同じ
adkim=DKIM の署名ドメインと From の一致の厳しさ。r (緩い) / s (厳密)r
aspf=SPF のドメインと From の一致の厳しさ。r (緩い) / s (厳密)r

SPF か DKIM のどちらかが、From のドメインと一致して合格すれば DMARC は合格です (RFC 7489)。

よくある間違い

  • ✕名前を @ (空欄) にするDMARC の名前は _dmarc です。ドメイン直下の TXT に書いても読まれません。
  • ✕p=none のまま放置するnone は観測だけで、なりすましは止まりません。レポートで確認できたら quarantine に進めます。
  • ✕別ドメインの rua に許可レコードがないレポート先が別のドメインなら、そのドメインに example.jp._report._dmarc の TXT (v=DMARC1) が必要です。無いとレポートが届きません。

作る・確かめる

根拠: RFC 7489 (DMARC)

よくある質問

DMARC は必要ですか?

Gmail などの大手は 2024 年以降、大量に送る送信者に DMARC を求めています。少量の送信でも、なりすまし対策として設定しておくのが標準です。

レポートの XML が読めません。

送信元の IP ごとに、SPF・DKIM の合否と件数が並んでいます。知らない IP から大量に失敗しているものがなりすまし、自社の送信サービスで失敗しているものが設定漏れです。