DMARCレコード作成ツール

現在公開しているレコードをもとに、RFC 9989に沿ったDMARC設定(DMARCレコード)を作成し、認証に失敗したメールを受信サーバーがどう扱うかを確認できます。

RFC 9989、9990、9991 · 現在のレコードはブラウザから読み取り · 入力内容は保存されません
例

example.comのレコード例

上にドメインを入力すると現在公開している内容から始められます。下の項目も自由に変更できます。右のレコードは変更に合わせて更新されます。

pexample.comのポリシー
tテストモード
受信サーバーは1段階弱く適用します。rejectはquarantineとして、quarantineはnoneとして扱われます。強制するにはオフにしてください。
rua集計レポートの送信先
dmarc@example.com
誰がこのドメインとして送信しているかを日ごとに集計したものです。確認しているメールボックスか、DMARCレポートサービスを指定します。
spサブドメイン
news.example.com、mail.example.com…
np存在しないサブドメイン
invoices.example.comのような架空の名前で、なりすましによく使われます。
adkimアライメント
DKIM
SPF
緩和ではmail.example.comもexample.comとして扱われます。厳格では完全に一致する名前が必要です。
このドメインはメールを送信しない
すべてを拒否し、パーキングドメインに必要なレコードを追加します。
失敗レポートなど
ruf失敗レポートの送信先
失敗したメール1通ごとに1件のレポートが届きます。メールの内容を含む場合があり、GmailとMicrosoftは送信しません。
fo失敗レポートを送る条件

psd=はパブリックサフィックスの運営者専用のため、選択肢にはありません。

DMARCに失敗したメールはどうなるか

パスしたメールには一切影響しません。失敗したメールについて、受信サーバーはレコードを次のように解釈します:

example.comからexample.com
p=noneで決定
—
配信レポートあり
サブドメインからnews.example.com
p=noneで決定
—
配信レポートあり
存在しない名前からx7q.example.com
p=noneで決定
—
配信レポートあり

ポリシーはあくまで要求で、最終的な判断は受信サーバーが行います。Microsoftが推奨するとおりHonor DMARC record policyをオンにしている場合、Microsoft 365はrejectで失敗したメールを550 5.7.1で拒否し、quarantineで失敗したメールをJunkに送ります。

導入手順

  1. 1
    監視p=noneレポートを受け取りながらp=none、最低1か月今すぐ現在地
  2. 2
    テストp=quarantine; t=yt=y付きのquarantine:省略可
  3. 3
    隔離p=quarantine少なくとも監視と同じ期間 
  4. 4
    拒否p=rejectユーザーがメーリングリストに投稿しない場合 

公開する前に

公開の準備完了

レコードは1つで、受信サーバーが無視したり誤読したりする部分はありません。

良好

レポートの送信先

受信サーバーが他の組織のアドレスにレポートを送るのは、その組織が許可レコードを公開している場合だけです。

dmarc@example.com ruaexample.com内:許可は不要
OK

レポートサービスはすべてのドメインに対応するレコードを1つ公開しているため、通常そのアドレスはすぐに「許可済み」と表示されます。

どこに貼り付ける?

DNSホストを選ぶと、下の各欄がそのフォームに合わせた形で表示されます。

ゾーンファイルの行
_dmarc.example.com. 3600 IN TXT "v=DMARC1; p=none; rua=mailto:dmarc@example.com"

公開した後に

詳細チェック: example.comリンクにはこの設定が含まれますが、鍵は含まれません。 ブラウザから問い合わせています:CloudflareのリゾルバーとGoogleのリゾルバー(確認用)。

DMARCレコードの書き方:作成と設定の手順は?

ドメインに_dmarcという名前のTXTレコードを1つ公開します。内容はv=DMARC1、ポリシー、レポートの送信先アドレスの順です。上の作成ツールがレコードを書き出し、DNSホストが応答を返し始めた時点から有効になります。

まず、メールがすでにSPFまたはDKIMにパスしていることを確認し、確認しているアドレスをruaに指定してp=noneから始めます。受信サーバーはこれまでどおり配信を続け、誰がこのドメインとして送信しているかを毎日レポートで送ってくれます。

レポートを少なくとも1か月読み、認証に失敗している正規の送信元をすべて直してから、隔離(quarantine)、拒否(reject)へ進みます。組織のドメインに置いた1つのレコードは、そのサブドメインにも適用されます。

  1. 1_dmarcに公開_dmarc.example.com · TXT
    v=DMARC1; p=none; rua=mailto:dmarc@example.com
  2. 2受信サーバーが参照TXTクエリ _dmarc.example.com
  3. 3ポリシーを適用p=none → 配信
  4. 4レポートが毎日届く集計レポート(XML、毎日)dmarc@example.com
1つのレコード、4つのステップ
公開中のRFC 7489のレコードをRFC 9989向けに書き換えたDMARCレコード作成ツールの画面:ポリシーの段階とレポートの受信許可公開中のRFC 7489のレコードをRFC 9989向けに書き換えたDMARCレコード作成ツールの画面:ポリシーの段階とレポートの受信許可現在の公開内容から始める「読み込む」はブラウザから_dmarcを読み取ってフォームに反映します。当サイトのサーバーは経由しません。すべてのタグを色分けレコードの各部分は対応する設定と同じ色です。片方にカーソルを合わせると、もう片方が見つかります。変更点とその理由RFC 9989で廃止されたタグは削除され、それぞれ理由が表示されます。DNSホストの形式でコピーホスト、タイプ、値のそれぞれにコピーボタンがあり、DNSホストに合わせて書き換えられます。レポートの送信先を確認他の組織のアドレスには印が付き、許可レコードをリアルタイムで確認します。
DNSから読み込んだ公開中のレコード:pct、rf、riを削除して理由を表示し、各タグを対応する設定と同じ色で表示し、他の組織のレポート送信先に印を付けています。

DMARCレコードの各タグは何を意味しますか

DMARCレコードはタグ=値の組の並びです。vは種類、pは認証に失敗したメールの扱い、ruaはレポートの送信先を示し、それ以外のタグは既定値を変えるだけです。

RFC 9989はv、p、sp、adkim、aspf、rua、ruf、foを引き継ぎ、np(存在しない名前)、t(テストモード)、psd(パブリックサフィックスの運営者向け)を追加し、pct、rf、riを廃止しました。

先頭に置いてDMARC1と完全に一致する必要があるのはvだけです。RFC 9989が知らないタグは無視されるため、廃止されたタグを残しても害はありませんが、何の効果もありません。

タグ値既定値役割
vDMARC1必須レコードの目印。先頭に置く必要があります
pnone・quarantine・rejectnone(監視)ドメインからの認証に失敗したメールを受信サーバーがどう扱うか
spnone・quarantine・rejectp存在するサブドメインに対する同じ設定
np 新規none・quarantine・rejectsp、次にp存在しない名前に対する同じ設定
t 新規y · nnテストモード:1段階弱く適用
ruamailto:のアドレスなし毎日の集計レポートの送信先
rufmailto:のアドレスなしメール1通ごとの失敗レポートの送信先
fo0 · 1 · d · s0失敗レポートを送る条件
adkimr · srDKIMのアライメント:緩和か厳格か
aspfr · srSPFのアライメント:緩和か厳格か
psd 新規y · n · uuパブリックサフィックスの運営者専用
pct 廃止0–100廃止:確実に動作したのは0と100だけ
rf 廃止afrf廃止:値が1つしかなかった
ri 廃止秒廃止:レポートはもともと毎日送信
RFC 9989のタグ

DMARCのポリシーはnone、quarantine、rejectのどれにすべきですか

まずはレポートを受け取りながらnoneで始め、正規の送信元がすべてパスするようになったらquarantine、確信が持てたらrejectへ進みます。RFC 9989は、noneで少なくとも1か月、quarantineでも同じ期間を求めています。

noneは配信に何も影響せず、quarantineは認証に失敗したメールを迷惑メールフォルダへ送り、rejectは受け付けません。ポリシーはあくまで要求で、最終的な判断は受信サーバーが行います。

ユーザーがメーリングリストに投稿するドメインは、rejectを使うべきではありません(SHOULD NOT)。メッセージを書き換えるリストでは、DMARCが通らなくなるためです。Googleはより短い手順も案内しています(noneで1週間、その後quarantineで一部のメールから)。

  1. 1
    監視p=none; rua=…最低1か月今すぐ配信され、レポートされる
  2. 2
    テストp=quarantine; t=y省略可1段階弱く
  3. 3
    隔離p=quarantine少なくとも同じ期間2026年11月27日より前は不可迷惑メールフォルダ
  4. 4
    拒否p=rejectユーザーがリストに投稿しない場合2026年12月27日より前は不可受信拒否
Googleの短縮手順none · 1週間quarantine · 一部のメールquarantine 100%reject(任意)
導入手順(今日からの実際の日付つき)

RFC 9989でDMARCの何が変わりましたか

RFC 9989(2026年5月)はRFC 7489に代わるもので、pct、rf、riを廃止し、np、t、psdを追加し、組織のドメインをPublic Suffix Listではなく、DNSをたどって見つける方式に変えました。

pct=0はt=yと読まれるようになり、それ以外のpctは受信サーバーごとに適用がばらばらだったため削除されます。レポートのサイズ指定(!10m)は無視されます。

ツリーウォークは、その名前と各親に対して_dmarcを最大8回問い合わせます。そのため、非常に深い名前には専用のレコードを置くべきです。GoogleとMicrosoftのヘルプページには、今もpctの記載があります。

変更前
v=DMARC1; p=quarantine; pct=0; rua=mailto:dmarc@example.com!10m; rf=afrf; ri=86400
変更後
v=DMARC1; p=quarantine; t=y; rua=mailto:dmarc@example.com
  • pct=0はt=yに
  • rfを削除
  • riを削除
  • !10mを削除
DNSツリーウォーク_dmarc.mail.news.example.comNXDOMAIN_dmarc.news.example.comNXDOMAIN_dmarc.example.comv=DMARC1 ✓最初に見つかったレコードが有効、問い合わせは最大8回
公開中のRFC 7489のレコードを書き換えたもの

DMARCレポートを別のサービスに送るにはどうしますか

サービスのアドレスをruaに指定します。そのドメインが自分のものでない場合、相手側がexample.com._report._dmarc.reports.example.net(自分のドメイン、次に相手のドメインの順)のような名前の許可レコードを公開している必要があります。レポートサービスは通常、ワイルドカードで全ドメイン分を1回で公開しています。

このレコードがないと、受信サーバーはレポートをどこにも送らず、そのことは通知されません。作成ツールは外部のアドレスをそれぞれリアルタイムで確認し、相手側が公開すべきレコードを表示します。

大量のレポートを処理できるメールボックスかサービスを使ってください。大手の送信元からは1日に数百件のレポートが届きます。失敗レポート(ruf)にはメールの内容が含まれることがあり、GmailとMicrosoftは送信しません。

あなたのレコード
v=DMARC1; p=none; rua=mailto:reports@rua.vendor.example.net
問い合わせ
許可レコードexample.com._report._dmarc.rua.vendor.example.netTXT "v=DMARC1;"
レポートを送信
レポートサービスreports@rua.vendor.example.net

ワイルドカードの許可を公開しているレポートサービス

dmarcianValimailEasyDMARCPostmarkCloudflareMimecast DMARC AnalyzerProofpointAgariRed Sift OnDMARCPowerDMARCSendmarcURIportsReport URIDMARCLYFraudmarcDMARC Report
誰が何を確認するか

Gmail、Yahoo、Outlook.comの送信者向けのDMARC設定

Gmail、Yahoo、Outlook.comは、大量送信者にDMARCの公開を求めています。p=noneで足り、Fromのドメインは、SPFまたはDKIMとアライメントが取れている必要があります。

GmailとOutlook.comは1日5,000通を超える送信者を対象とし、Yahooは基準を示していません。Outlook.comはSPFとDKIMの両方のパスを求め、失敗したメールは550 5.7.515で拒否します。

BIMIのロゴを表示するには、さらに条件があります。組織のドメインとFromのドメインでquarantineまたはrejectにし、サブドメインのポリシーをnoneにしないことです。

GmailYahooOutlook.com
開始時期2024年2月2024年2月2025年5月5日
対象1日5,000通超しきい値の記載なし1日5,000通超
DMARCp=noneで十分p=none、かつパスが必要p=none、アライメントが必要
SPFとDKIM両方両方両方のパスが必要
アライメントSPFまたはDKIM緩和で可SPFまたはDKIM
メールボックスプロバイダーが大量送信者に求めること

メールを送らないドメインのDMARC設定

DMARCのp=reject、SPFのv=spf1 -all、null MXを公開し、サブドメイン向けにワイルドカードのSPFとMXも設定し、DKIMレコードは一切置きません。これがM3AAWGによる2022年のパーキングドメイン向けセットです。

送信を許可するものが何もなければ、rejectで正規のメールを損なうことはなく、受信サーバーは偽装メールをすぐに拒否します。M3AAWGは、2015年の助言だった空のDKIM鍵を、ここでは勧めなくなりました。DKIMレコードはまったく公開しないでください。

パーキングドメインが多数ある場合は、各ドメインの_dmarcをCNAMEで共通の1つのレコードに向けると、後の変更を1回で済ませられます。

example.net. 3600 IN TXT "v=spf1 -all"
_dmarc.example.net. 3600 IN TXT "v=DMARC1; p=reject;"
example.net. 3600 IN MX 0 .
*.example.net. 3600 IN TXT "v=spf1 -all"
*.example.net. 3600 IN MX 0 .
なりすまし犯がinvoices@example.netとして送信受信拒否:SPFは失敗、DKIMなし、DMARCはreject
example.netのパーキングドメイン用セット

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

DNSホストで、_dmarcという名前のTXTレコードとして追加します。多くのDNSホストはドメインを自動で付け加えるため、入力するのは_dmarcだけで、_dmarc.example.comではありません。

ドメインを自動で付け加えるDNSホストに完全な名前を入力すると、誰も読まない_dmarc.example.com.example.comというレコードができてしまいます。作成ツールでDNSホストを選ぶと、その正確な入力欄が表示されます。

1つの名前に置けるDMARCレコードは1つだけです。2つ目を追加せず、古いレコードを置き換えてください。2つあると、受信サーバーは両方を無視します。

DNSホスト名前の欄長い値
Cloudflare_dmarc1つの欄:自動で分割
GoDaddy_dmarc1つの欄:自動で分割
Namecheap_dmarc1つの欄:自動で分割
Squarespace_dmarc記載なし
Amazon Route 53_dmarc引用符付きの文字列
Google Cloud DNS_dmarc引用符付きの文字列
Azure DNS_dmarc1つの欄:自動で分割
DigitalOcean_dmarc記載なし
Hostinger_dmarc記載なし
IONOS_dmarc記載なし
OVHcloud_dmarc記載なし
Porkbun_dmarc記載なし
cPanel_dmarc1つの欄:自動で分割
Plesk_dmarc記載なし
Hetzner_dmarc引用符付きの文字列
STRATO_dmarc記載なし
Bluehost_dmarc記載なし
DNSホストごとの入力内容

DMARCレコード作成ツールのよくある質問

DMARCレコードとは何ですか

DMARCレコードは、_dmarc.自分のドメインに置くTXTレコードです。ドメインを名乗っていながらSPFとDKIMのアライメントに失敗したメールを受信サーバーがどう扱うか、そしてそれに関するレポートの送信先を伝えます。v=DMARC1で始まり、none、quarantine、rejectのいずれかのポリシーを含みます。2026年5月に公開されたRFC 9989が、現在の標準です。

最初のDMARC設定はどのようなレコードにすればよいですか

v=DMARC1; p=none; rua=mailto:に、確認しているアドレスを続けた形から始めてください。配信には何も影響しませんが、このドメインとして送信しているすべてのサーバーのレポートが毎日届くようになります。少なくとも1か月たち、自社の送信元がパスするようになったら、RFC 9989の勧めに沿ってquarantine、次にrejectへ進みます。

pctの設定がないのはなぜですか

RFC 9989は、0と100以外の値を受信サーバーごとにばらばらに適用していたため、pctを廃止しました。代わりに使うのがテストモードのt=yで、受信サーバーにポリシーより1段階弱い扱いを求めます。quarantineはnone、rejectはquarantineとして扱われます。MicrosoftとGoogleのヘルプページには今もpctの記載がありますが、RFC 9989の受信サーバーは無視するため、作成ツールは書き出しません。

DMARCレポートはGmailやOutlookのアドレスに送れますか

はい、どのメールボックスでも使えますが、個人の受信トレイはすぐにあふれます。大手の送信元からは1日に数百件のレポートが届くためです。アドレスが他の組織のものである場合、そのドメインが自分のドメイン向けの許可レコードを公開していないと、受信サーバーは何も送りません。自分のドメインのメールボックスか、DMARCレポートサービスを使えば、この問題は避けられます。

DMARCの前にSPFとDKIMが必要ですか

他に何も設定していなくても、p=noneは公開できます。レポートから、どの送信元にSPFやDKIMが必要かがわかります。quarantineやrejectにする前に、すべての正規の送信がFromのドメインとアライメントの取れたSPFまたはDKIMにパスしている必要があります。RFC 9989は両方を勧めており、rejectにするドメインはDKIM署名を付けるべきです。転送でSPFが壊れるためです。

ruaとrufの違いは何ですか

ruaは集計レポートの送信先です。送信サーバーと結果ごとにメール数を数えた毎日のXMLの要約で、メールの内容は含みません。rufは個々のメールに関する失敗レポートの送信先で、ヘッダーや内容が含まれることがあります。GmailやMicrosoftを含む多くの大手プロバイダーは失敗レポートを送らないため、実際に重要なのはruaで、rufは任意です。

厳格なアライメントを使うべきですか

通常は不要です。緩和では、bounce.example.comのようなサブドメイン経由で署名やバウンス処理されたメールもexample.comとして扱われます。SendGrid、Amazon SES、Mailgunはこの方式で送信します。厳格では完全に一致するドメインが必要になり、それらは失敗します。一方で厳格にすると、サブドメインのDNSを管理する人が親ドメインになりすませなくなるため、厳密に運用しているドメインには向いています。

spとnpは何をしますか

spは、news.example.comのように存在するサブドメインのポリシー、npは、架空のinvoices.example.comのようにまったく存在しない名前のポリシーを設定します。どちらもなければ、サブドメインはpに従います。np=rejectは、作成していない名前から届いた認証失敗メールにだけ作用します。なりすまし犯が、親ドメインの弱いポリシーをすり抜けようとよく使う手口です。

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

DNSホストのサーバーがそのレコードを返し始めた時点から有効で、通常は保存して数分以内です。直前に問い合わせた受信サーバーは、キャッシュの期限が切れるまで古い応答を覚えていることがあります。レポートは、受信サーバーが24時間ごとに送るため、約1日後に届きます。作成ツールの「公開を確認」で、DNSが今返している内容を確認できます。

DMARCレコード作成ツールは無料ですか。ドメインは保存されますか

無料で、登録も不要です。レコードはブラウザ内で作成されます。現在のレコードの読み込みでは、ブラウザからHTTPSで直接CloudflareのリゾルバーにDNSを問い合わせます(Cloudflareが遅いときはGoogleのリゾルバーも使います)。そのため、ドメインが当サイトのサーバーを通ることはありません。当サイトのレポート用アドレスを追加することもなく、レコードに入るアドレスはすべて、ご自身が入力したものです。

足りないものはありますか?機能や新しいツールを提案する