ドメイン → A/AAAA/MX/NS/SOA/TXT(SPF/DMARC判定つき)。IPアドレス → 逆引き(PTR)。
DKIMはセレクタ名が必要です(受信メールのヘッダ DKIM-Signature の s= で分かります)。
how to read — 結果の読み方
ドメインを入れると、まずメール到達性に直結する3点(MX・SPF・DMARC)を信号色で判定し、その下に全レコードを並べます。各項目の意味は次の通りです。
- A / AAAA
- ドメインがどのIPアドレスを指すか(A=IPv4、AAAA=IPv6)。Webサイトの接続先です。
- MX(メール)
- そのドメイン宛メールを受け取るサーバー。無いとそのドメインでメールを受信できません(メール運用していなければ無くて正常)。
- NS / SOA
- NSはそのドメインを管理するネームサーバー、SOAはゾーンの管理情報(Serial=更新版番号やTTLなど)。
- TXT / SPF
- TXTは各種の設定文字列。中でも v=spf1 で始まるSPFが重要で、「このドメインのメールを送ってよい送信元」を宣言します。末尾の -all(厳格)/~all(緩い・softfail)/+all(危険)が肝です。
- DMARC
- SPF/DKIMの検証に失敗したメールの扱いを決める方針(_dmarc.ドメイン のTXT)。p=reject(拒否)/p=quarantine(隔離)/p=none(監視のみ)。p=none は実際にはブロックしません。
- DKIM(任意)
- セレクタ名を入れると セレクタ._domainkey.ドメイン のTXT(公開鍵)の有無を確認します。SPF・DMARCと合わせ、メール認証の三点セットが揃っているかを点検できます。
- PTR(逆引き)
- IPアドレス → ホスト名。メール送信サーバーでは、正引き(A)と双方向で一致する逆引きの設定がほぼ必須です。
how it works — DNSとメール認証のしくみ
DNSは「名前→IP」などを引くインターネットの電話帳。Webもメールも、通信の前にまずDNSを引きます。とくにメールにはなりすまし対策の三点セットがあり、ここがメール到達性を左右します。
- SPF … 「このドメインのメールを送ってよい送信元IP」の許可リスト
- DKIM … メールに付ける電子署名(改ざん・なりすまし検知)
- DMARC … SPF/DKIMが揃わなかったメールの処分方針とレポート
なぜなりすまされるのか。 SPFの末尾が ~all(softfail)だと、許可外のサーバーから送られても受信側は「やんわり疑う」だけで、多くは受信してしまいます。-all(hardfail)にして初めて明確な拒否対象になります。さらにDMARCが p=none のままだと「認証に失敗しても何もしない(監視するだけ)」なので、すり抜けたなりすましがそのまま相手に届きます。p=quarantine / p=reject にして初めて防御として機能します。
2024年以降、設定は「あって当たり前」になりました。 GmailやYahoo!メールが送信者ガイドラインを厳格化し、SPF・DMARCを設定していないドメインからのメールは迷惑メール扱いされやすく、一斉送信では受信拒否されることもあります。自社ドメインでメールを出すなら、SPF/DKIM/DMARCの設定はもはや必須と考えてください。
troubleshooting — よくあるトラブルと見分け方
- 自社のメールが迷惑メール扱いされる/届かない
- まずSPFに実際の送信サーバー(自社サーバーや利用中のメール配信サービス)が含まれているかを確認します。緩い ~all は -all へ。あわせてDKIM署名を設定し、DMARCは p=none で監視→問題なければ quarantine/reject へ段階的に強化します。送信元IPがブラックリスト入りしていないかは RBLチェック で確認できます。
- DMARCを設定したのに効果がない
- p=none は監視(レポート収集)のみで、実際のブロックはしません。レポートで正当なメールがすべて認証を通っていることを確認してから、p=quarantine→p=reject と上げて初めて、なりすまし拒否の効果が出ます。
- SPFを設定したのにエラー(PermError)になる
- SPFは include: や a/mx などDNS参照を伴う項目が合計10回を超えると PermError となり、SPF自体が無効扱いになります。include: は入れ子で意外と膨らむので、使うサービスを絞る・不要な include を削るなどして10回以内に収めてください。
- DKIMのセレクタ名が分からない
- そのドメインから届いたメールを開き、ヘッダの DKIM-Signature: 行にある s= の値がセレクタ名です(例 s=google)。上のフォームのセレクタ欄に入れると セレクタ._domainkey.ドメイン のTXT(公開鍵)の有無を確認できます。
- 設定を変えたのに反映されない
- DNSはTTL(キャッシュの有効時間)のぶん、古い値が各所に残ります。dig でTTLを確認し、その時間が過ぎるまで待ちます。変更直前にTTLを短くしておくと切り替えが速くなります。
- 逆引き(PTR)が「設定なし」になる
- 共用環境では個別に設定できないことがあります。固定IPで自前のメールサーバーを運用するなら、ISP/データセンターにPTRの設定を依頼してください。逆引きと正引き(A)が双方向で一致している状態(FCrDNS)が理想で、これが無いと受信側に弾かれやすくなります。
- MXが無い/メールが受け取れない
- そのドメインでメールを受信するにはMXレコードが必要です。レンタルサーバーやメールサービスが指定するMX(とSPF)を正しく設定してください。Webだけで運用しメールを使わないドメインなら、MXが無くても問題ありません。
cli — 手元のコマンドでも確認できます
PS> Resolve-DnsName -Type MX example.com
PS> Resolve-DnsName -Type TXT example.com # SPF
PS> Resolve-DnsName -Type TXT _dmarc.example.com # DMARC
PS> Resolve-DnsName 192.0.2.1 # 逆引き
$ dig example.com +short
$ dig MX example.com +short
$ dig TXT example.com +short
$ dig TXT _dmarc.example.com +short
$ dig -x 192.0.2.1 +short # 逆引き
WindowsはWindows標準の nslookup も使えます。TTLまで見たいときは dig が便利です。