SPF / DKIM / DMARC の確認方法は?4 つの手段を比較
目次
この記事でわかること
- 自社ドメインの SPF / DKIM / DMARC を確認する 4 つの手段(dig / nslookup / 一般的なオンラインツール / 日本語逐語解説ツール)
- それぞれの強みと向き不向き
- DKIM の確認だけはセレクタが必要、という落とし穴と対処
- 「設定はあるけど中身が読めない」状態を解消する手順
なぜ「確認」だけでひと手間かかるのか
SPF / DKIM / DMARC はすべて DNS の TXT レコードとして公開されているので、コマンド 1 行で取れます。それなのに「確認だけ」でつまずく担当者が多いのは、次の 3 つが重なるからです。
- DKIM はホスト名にセレクタが必要(
<selector>._domainkey.<domain>)。セレクタを知らないと取れない - 取れても記号が読めない(
~all/p=quarantine/k=rsa等) - 複数のレコードがあると違反(SPF / DMARC とも 1 ドメイン 1 レコードが原則)
「コマンドで取る」と「読めるようにする」は別問題、というのが結論です。
手段 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 を取得
- 各トークン(
~allinclude:p=quarantinek=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 と使い分け