Skip to main content
New AI-powered DMARC analysis + open REST API See how → →
メール認証

DMARCレコードとは?

DMARCレコードは_dmarc.yourdomain.comに公開されるDNS TXTレコードで、SPFまたはDKIM認証が失敗したときに受信側メールサーバーがどう対応すべきかを伝えます。 あなたのDMARCポリシー(none、quarantine、reject)、アライメント要件、集計レポートとフォレンジックレポートの送信先を指定します。

RFC 7489で定義され、Google、Yahoo、Microsoft、そしてPCI DSS v4.0が要求しています。

構造

DMARCレコードはどのようなものですか?

一般的なすべてのタグを含む完全なDMARCレコードを、タグごとに分解して解説します。

_dmarc.example.com TXT
v=DMARC1; p=reject; rua=mailto:dmarc@example.com; ruf=mailto:forensic@example.com; adkim=s; aspf=r; pct=100; sp=reject
v=DMARC1 バージョン(必須)
p=reject ポリシー:失敗をブロック
rua= 集計レポートのアドレス
ruf= フォレンジックレポートのアドレス
adkim=s strictなDKIMアライメント
aspf=r relaxedなSPFアライメント
pct=100 失敗の100%に適用
sp=reject サブドメインポリシー:reject
リファレンス

すべてのDMARCレコードタグ

DMARC仕様で定義されたすべてのタグを、受け入れられる値、説明、避けるべきよくある間違いとともに紹介します。

v= 必須

バージョン

プロトコルのバージョン識別子。すべてのDMARCレコードで最初のタグである必要があります。唯一の有効な値はDMARC1です。

DMARC1
v=DMARC1
v=をレコードの先頭以外に置くとPermErrorが発生します。
p= 必須

ポリシー

DMARC認証に失敗したメッセージをどう扱うかを受信側に伝えます。監視のためnoneから始め、quarantineを経てrejectへと進めます。

none | quarantine | reject
p=reject
監視なしにいきなりp=rejectにすると、正当なメールがブロックされます。
rua= 任意

集計レポートURI

あなたのドメインからのすべてのメッセージの認証結果を要約した日次の集計(XML)レポートを、受信側が送る先です。

mailto:アドレス
rua=mailto:dmarc@example.com
rua=を省略すると可視性が得られません。必ずレポート用アドレスを設定してください。
ruf= 任意

フォレンジックレポートURI

失敗の詳細を含むメッセージごとのフォレンジックレポートを、受信側が送る先です。すべての受信側がRUFに対応しているわけではありません。

mailto:アドレス
ruf=mailto:forensic@example.com
すべての受信側がフォレンジックレポートを送ると期待すること。多く(Google、Microsoft)は送りません。
sp= 任意

サブドメインポリシー

サブドメインに対してメインポリシーを上書きします。省略すると、サブドメインはp=の値を継承します。

none | quarantine | reject
sp=reject
サブドメインがメインドメインと異なるポリシーを必要とするときにsp=を忘れること。
adkim= 任意

DKIMアライメント

DKIM署名ドメインがFromヘッダーのドメインと完全一致する必要があるか(strict)、サブドメインでもよいか(relaxed)を制御します。デフォルト:relaxed。

r(relaxed) | s(strict)
adkim=r
すべての送信元が組織ドメインで署名していることを確認する前に、strictアライメントを設定すること。
aspf= 任意

SPFアライメント

SPF認証されたドメインがFromヘッダーのドメインと完全一致する必要があるか(strict)、サブドメインでもよいか(relaxed)を制御します。デフォルト:relaxed。

r(relaxed) | s(strict)
aspf=r
サードパーティの送信元が独自のReturn-Pathサブドメインを使うときにaspf=sを設定すること。
pct= 任意

パーセンテージ

ポリシーを適用する失敗メッセージの割合。適用の段階的な展開に使用します。デフォルト:100。

1-100
pct=25
初期展開の後にpct=を増やし忘れ、ほとんどのメールが適用されないまま残ること。
fo= 任意

フォレンジックオプション

フォレンジックレポートを生成するタイミングを制御します。0=SPFとDKIMの両方が失敗、1=いずれかが失敗、d=DKIMが失敗、s=SPFが失敗。

0 | 1 | d | s
fo=1
fo=をデフォルト(0)のままにすること。これはSPFとDKIMの両方が失敗したときのみレポートします。
構文

DMARCレコードの構造ルール

有効なDMARCレコードは、これらのルールに従う必要があります。いずれか1つに違反すると、受信側はそのレコードを完全に無視します。

1

ドメインごとに1レコード

ドメインには正確に1つのDMARC TXTレコードが必要です。複数のレコードはPermErrorを引き起こし、受信側はそのすべてを無視します。

2

_dmarcサブドメインに公開する

レコードは_dmarc.yourdomain.comのTXTレコードである必要があります。ルートドメインでも、_dmarc.www.yourdomain.comでもありません。

3

v=DMARC1で始まる必要がある

v=タグはレコードの最初のタグである必要があります。他のタグが最初に現れると、レコードは無効になります。

4

タグはセミコロンで区切る

各タグはセミコロンと任意の空白で区切ります:v=DMARC1; p=reject; rua=mailto:...

5

タグ名は大文字小文字を区別しない

タグ名(p=、rua=、adkim=)は大文字小文字を区別しませんが、一部のタグでは値が大文字小文字を区別します。

フェーズ別のDMARCレコード例

DMARC導入の3つのフェーズに対応した3つのレコードです。各フェーズには最低90日間の監視が必要です。p=rejectまでの全行程には通常9〜18か月かかります。

監視のみ フェーズ1 - 適用の前にデータを収集する
v=DMARC1; p=none; rua=mailto:dmarc@example.com; fo=1

ここから始めます。受信側はすべてのメールを通常どおり配信しつつ、日次の集計レポートをあなたに送ります。fo=1タグはSPFまたはDKIMのいずれかが失敗したときにフォレンジックレポートを生成し、最大限の可視性をもたらします。

段階的な適用 フェーズ2 - 失敗の25%を隔離する
v=DMARC1; p=quarantine; pct=25; rua=mailto:dmarc@example.com; ruf=mailto:forensic@example.com; adkim=r; aspf=r

p=noneで90日以上監視した後、pct=25でquarantineに移行します。失敗メッセージのうち25%だけが迷惑メールに送られます。正当なメールが合格することを確認しながら、数週間かけてpct=を段階的に(50、75、100と)増やします。

完全な拒否 フェーズ3 - 最大限の保護
v=DMARC1; p=reject; rua=mailto:dmarc@example.com; ruf=mailto:forensic@example.com; adkim=s; aspf=s; sp=reject

最終目標です。DMARCに失敗したすべてのメッセージがSMTPレベルで拒否されます。strictアライメントはドメインの完全一致を保証します。sp=rejectは保護をすべてのサブドメインに拡張します。この段階に到達するには通常9〜18か月かかります。

検証

DMARCレコードはどうやって確認しますか?

DMARCチェッカーツールを使って、_dmarc.yourdomain.comのDNS TXTレコードを問い合わせ、構文、タグ、値が正しいことを検証します。

  • レコードの構文とタグの順序を検証する
  • 複数の矛盾するレコードがないかを確認する
  • rua=とruf=のアドレスが到達可能かを検証する
  • アライメントモードとポリシー設定を確認する
DMARCレコードをチェック
DMARC Checker - example.com
レコード検出
_dmarc.example.com
合格
ポリシー
p=reject
合格
集計レポート
rua=mailto:dmarc@example.com
合格
DKIMアライメント
adkim=s (strict)
合格
SPFアライメント
aspf=r (relaxed)
合格
サブドメインポリシー
sp=reject
合格
生成

DMARCレコードはどうやって作成しますか?

無料のDMARCレコードジェネレーターを使えば、有効なレコードを数秒で作成できます。ポリシーを選び、レポート用アドレスを入力し、TXTレコードをDNSにコピーするだけです。

DMARCレコードを生成する
FAQ

DMARCレコードに関するよくあるご質問

1つのドメインに複数のDMARCレコードを持てますか?

いいえ。ドメインには_dmarc.yourdomain.comに正確に1つのDMARC TXTレコードが必要です。複数のレコードが存在すると、受信側はPermErrorを返してそのすべてを無視します。レポートを複数のアドレスに送るには、rua=タグ内でカンマ区切りで列挙します:rua=mailto:addr1@example.com,mailto:addr2@example.com。

DMARCレコードはDNSのどこに追加しますか?

ホスト/名前を_dmarcに設定したTXTレコードを追加します(DNSプロバイダーが自動的にドメインを付加します)。レコードタイプはTXTで、値はv=DMARC1で始まるDMARCポリシー文字列です。変更はTTL設定に応じて数分から48時間以内に伝播します。

有効な最小限のDMARCレコードは何ですか?

有効な最小限のDMARCレコードはv=DMARC1; p=none、つまりバージョンとポリシーのタグだけです。ただし、rua=がないとレポートを受け取れず、可視性がありません。実用的な最小限はv=DMARC1; p=none; rua=mailto:your-address@example.comです。

DMARCレコードに構文エラーがあるとどうなりますか?

構文エラーを検出した受信側は、DMARCレコードが存在しないものとしてそのレコードを扱います。メッセージはSPFとDKIMの結果のみに基づいて配信され、DMARCポリシーの適用は行われません。公開する前に、DMARCチェッカーでレコードの構文を検証してください。

DMARCレコードが有効になるまでどれくらいかかりますか?

DMARCレコードはDNSの伝播が完了するとすぐに有効になり、通常は数分から48時間以内です。ただし、受信側がレポートを日次でまとめるため、集計レポートは公開後24〜72時間で届き始めます。レポートが生成されていないと結論づける前に、丸1週間は待ってください。

サブドメインには独自のDMARCレコードが必要ですか?

サブドメインは親ドメインのDMARCポリシーを自動的に継承します。サブドメインが異なるポリシーを必要とする場合にのみ、別のサブドメインDMARCレコードが必要です。親レコードのsp=タグでも、別のレコードを作らずにサブドメイン固有のポリシーを設定できます。

今すぐDMARCレコードをチェック

無料のDMARC Checkerで、レコードの構文、タグ、レポート設定を数秒で検証しましょう。

DMARCレコードをチェック

世界中のセキュリティチームに信頼されています

G2 Leader - DMARC

Rated 4.8/5 on G2 · 469 verified reviews

G2 Momentum Leader - DMARC
DG

Dave G.

Owner

5/5

"DMARC Report has been invaluable in fixing email deliverability issues for our clients"

DMARC Report dashboard allows us to see easily what is compliant and what isn't compliant so we can quickly fix issues.

9/27/2022 Verified on G2
ZK

Zunaid K.

Director

5/5

"Essential tool for email delivery"

This tool helps us to implement DMARC reporting for our domains in an easy to use manner.

8/8/2024 Verified on G2
VU

Verified User in Information Technology and Services

5/5

"Best security tool for your own domains"

The weekly reports help me a lot to analyze quickly the emails sent from my domains and that gives me peace of mind.

8/31/2022 Verified on G2