SPFDKIMDMARCWeb 担当者

SPF / DKIM / DMARC の確認方法は?4 つの手段を比較

ドメイン番人5 分で読めます
目次

この記事でわかること

  • 自社ドメインの SPF / DKIM / DMARC を確認する 4 つの手段(dig / nslookup / 一般的なオンラインツール / 日本語逐語解説ツール)
  • それぞれの強みと向き不向き
  • DKIM の確認だけはセレクタが必要、という落とし穴と対処
  • 「設定はあるけど中身が読めない」状態を解消する手順

なぜ「確認」だけでひと手間かかるのか

SPF / DKIM / DMARC はすべて DNS の TXT レコードとして公開されているので、コマンド 1 行で取れます。それなのに「確認だけ」でつまずく担当者が多いのは、次の 3 つが重なるからです。

  1. DKIM はホスト名にセレクタが必要<selector>._domainkey.<domain>)。セレクタを知らないと取れない
  2. 取れても記号が読めない~all / p=quarantine / k=rsa 等)
  3. 複数のレコードがあると違反(SPF / DMARC とも 1 ドメイン 1 レコードが原則)

「コマンドで取る」と「読めるようにする」は別問題、というのが結論です。

確認の 4 手段と向き不向き

手段 1: dig(macOS / Linux / WSL)

ターミナルで dig を使う方法。素直で速いが、結果は生レコードのまま。

# SPF
dig +short TXT example.com

# DMARC
dig +short TXT _dmarc.example.com

# DKIM(セレクタが必要。例: Google Workspace なら "google")
dig +short TXT google._domainkey.example.com

向くケース: 自分でコマンドを叩ける Web 担当者・SRE。 向かないケース: 「セレクタが何か分からない」「結果を解釈できない」場合。

手段 2: nslookup(Windows / どの OS でも)

Windows 標準コマンド。引数の書き方が dig と少し違います。

nslookup -type=TXT example.com
nslookup -type=TXT _dmarc.example.com
nslookup -type=TXT google._domainkey.example.com

向くケース: 社内 PC で気軽に確認したい時。 向かないケース: 出力が冗長で「結局どの行が SPF?」と迷うことがある。

手段 3: 一般的なオンラインツール(mxtoolbox 等)

ブラウザにドメインを入れて結果を見るタイプ。多くは英語 UI で「pass / fail」までは出ますが、「~all がどういう意味か」までは教えてくれないものが大半です。

向くケース: 海外サービスの英語ドキュメントが読める人が、PASS / FAIL の判定だけ欲しい時。 向かないケース: 日本語で意味を理解したい時。

手段 4: 日本語で逐語解説してくれるツール

「設定はある。でも何が書いてあるのか分からない」を解消するために、ドメイン番人ではSPF / DKIM / DMARC 設定確認・日本語解説ツールを公開しています。

  • ドメインを入れるだけで SPF / DKIM / DMARC を取得
  • 各トークン(~all include: p=quarantine k=rsa 等)を 日本語で逐語解説
  • DKIM は主要 15 種のセレクタを自動プローブ、独自セレクタは任意指定で深掘り
  • 登録不要・無料

向くケース: 外注先が入れた SPF / DMARC の妥当性を、Web 担当者自身でチェックしたい時。 向かないケース: 採点や改善優先度まで欲しいときは /diagnose のほうが向く(こちらは翻訳に特化)。

翻訳ツールのアウトプット例

DKIM だけは「セレクタ」を知らないと取れない問題

SPF と DMARC は <domain>_dmarc.<domain> で一意に取れます。DKIM は <selector>._domainkey.<domain> という形で セレクタごとに別レコード なので、セレクタが分からないと取得できません。

主要サービスのデフォルトセレクタ:

サービス デフォルトセレクタ
Google Workspace google
Microsoft 365 selector1, selector2
SendGrid s1, s2
Mailchimp k1, k2, k3
Resend resend
MXroute mxvault

詳しくはDKIM セレクタは何個まで持てる?主要 5 サービスで整理を参照。自社で独自セレクタを採用している場合は、送信サービスの管理画面で「DKIM」「認証」セクションを開けば確認できます。

目的別の使い分け早見表

やりたいこと 推奨手段
サクッと存在確認だけ dig / nslookup
英語の PASS / FAIL 判定だけ欲しい 海外オンラインツール
記号の意味も含めて中身を読みたい 日本語逐語解説ツール
メールが届かない原因を切り分けたい メール配送の切り分けツール
採点・改善優先度・SSL まで含めた総合点検 /diagnose

よくある質問

設定はあるはずなのに dig で何も出ないのですが?

ドメインが間違っている(www を付けてしまった等)、または BIND 系の DNS でゾーン伝搬が遅れているケースが多いです。_dmarc.www.example.com ではなく _dmarc.example.com を見るのが正しい場所です。

複数の SPF レコードを設定したら厳しく拒否されますか?

複数あると DNS 上 permerror となり、SPF 認証自体が失敗扱いになります。1 ドメイン 1 SPF が原則です。詳細はSPF 設定ガイドを参照。複数レコードを含む PermError の典型パターンはSPF が PermError になる5つの原因でまとめています。

DKIM のセレクタを忘れてしまいました。確認する方法はありますか?

過去に自社から送ったメールの Authentication-Results ヘッダの header.s= 値を見ると逆引きできます。手元にメールが残っていなければ、送信サービスの管理画面で「DKIM」「ドメイン認証」設定を確認するのが確実です。

まとめ

  • 確認手段は dig / nslookup / 一般オンラインツール / 日本語逐語解説ツールの 4 つ
  • 「取れる」と「読める」は別問題。記号の意味まで欲しいときは翻訳ツールが手っ取り早い
  • DKIM だけはセレクタが必要。デフォルトセレクタ一覧を使うか、Authentication-Results で逆引き
  • 採点まで欲しい時は /diagnose、翻訳に振り切りたい時は /tools/dns-auth-explainer と使い分け

次の一歩は無料診断から。