本文へスキップ

DKIM設定チェック(無料)

ドメインを入力して、DKIMレコードをチェックします。検出したセレクタを読み取り、見つからなければ代表的なセレクタを順に試します。メールヘッダーにあるセレクタを指定して照会することもできます。

DKIMレコードとは

DKIMレコードは、メールの署名検証に使う公開鍵をDNSで公開するレコードです。公開鍵は、セレクタごとに決まるDNS名に置かれます。このツールは、検出したセレクタと入力したセレクタのレコードを調べます。ただし、本番の送信経路で実際に署名されているか、受信側で署名の検証に成功したかを確かめるには、実際のメールでのテストが必要です。

DKIMチェック結果の見方

結果意味対処法
公開鍵を検出検出したセレクタで、公開鍵を読み取れるDKIMレコードが見つかりました。本番経路から新しいメールを送り、受信側で同じd=ドメイン・s=セレクタのdkim=passが記録されるか確認します。
レコード未検出検出したセレクタにも、続けて試した代表的なセレクタにも、利用できるレコードはありませんでした。d=とs=を実際のメールか送信サービスで確認します。独自のセレクタは、個別の照会が必要な場合があります。
形式エラー・不完全TXTレコードの値を、送信元が想定する公開鍵として解釈できません。送信サービスが指定する値と1バイトずつ比較し、誤って入った引用符や改行を削除します。修正後のレコードを公開し、TTLの経過を待ちます。
p=の値が空セレクタが失効しており、検証に使う公開鍵がありません。その鍵での署名を停止するか、移行先のセレクタを有効にしてから再テストします。
DNSは正常、検証は失敗レコードはありますが、テストしたメールの署名を受信側で検証できませんでした。メールが通った経路、d=・s=の値、ボディハッシュの検証結果、署名後の改変、DMARCアライメントを確認します。

DKIMチェックの進め方

まず、検証したい本番経路から送信したメールを用意します。その DKIM-Signature ヘッダーにある d= (署名ドメイン)と s= (セレクタ)を控えます。次に署名ドメインを入力し、診断で返ったセレクタとメールの値を照合します。該当するセレクタがなければ、結果の下のセレクタ欄に入力して直接照会します。

結果が送信サービスの管理画面と食い違う場合は、権威DNSサーバーに直接問い合わせ、レコード名と値を正確に比較してください。よくある原因は、セレクタの誤り、署名ドメインではなくルートドメインでの照会、無効な宛先を指す送信サービスのCNAME、権威ゾーンへの未反映です。

このツールで確認できること

このツールでわかるのは、検出したセレクタで公開DNSが返す内容と、使える鍵があるかどうかです。すべてのセレクタの検出、全送信システムの署名、受信側による署名の受け入れ、DKIMのDMARCアライメントまでは証明できません。それには、新しく届いたメールの元のヘッダーが必要です。

実際のメールでDKIMを検証

重要な本番経路ごとに同じ種類のメールを送り、受信側で元のソースを保存して、信頼できるヘッダーを確認します( Authentication-Results )。 dkim=none は通常、その経路で署名がないことを示します。 dkim=fail の場合は、記録された理由、セレクタの照会結果、署名後の改変の有無を確認します。passでも、アライメントは別途必要です。DKIMの d= ドメインと表示上のFromドメインの一致を、 DMARCチェック とメールの認証結果で確認します。

DKIM関連のチェックと対処法

メール認証ナレッジベース

すべてのDKIMセレクタを確認できますか?

このツール単体ではできません。ドメイン診断では検出したセレクタを表示し、1つも検出できない場合はgoogle、selector1、k1など代表的な20個のセレクタを試します。それでも独自のセレクタは漏れることがあるため、実際のメールのDKIM-Signatureヘッダーにあるs=の値を、結果の下のセレクタ欄に入力してください。

DKIMセレクタはどう調べますか?

そのドメインから送信したメールを開いてソースを表示し、DKIM-Signatureヘッダーを探します。s=タグがセレクタ、d=タグが署名ドメインです。レコードはselector._domainkey.domainに置かれるため、s=s1、d=example.comならs1._domainkey.example.comです。送信サービスのDKIM設定画面にも同じ値が表示されます。

DKIMレコードがあれば、署名されていると言えますか?

いいえ。公開鍵で証明できるのは、そのセレクタのレコードをDNSが返すことだけです。本番の送信経路すべてで署名が付くか、同じセレクタを使っているか、メールの改変後も署名が有効か、受信側でpassするかまでは証明できません。新たに配信されたメールで別途検証してください。

DKIMのp=が空なのは何を意味しますか?

p=を空にすると、そのセレクタの公開鍵は失効します。対応する秘密鍵でまだ署名している送信元は、検証に失敗します。セレクタの削除や後継セレクタの有効化の前に、意図した廃止かどうかを確認してください。

DKIMはpassでもDMARCがfailする理由

DMARCでは、passしたDKIMのd=ドメインが表示上のFromドメインと一致する必要があります。送信サービス側の署名ドメインでDKIMがpassしても、アライメントが取れずDMARCは失敗することがあります。両者を正確に比較し、対応していればFromドメインと一致する独自署名を設定します。

dkim=noneと表示されたらどうすればよいですか?

まず、メールにDKIM-Signatureヘッダーがあるか確認します。なければ、その本番経路でDKIMを有効にしてください。ある場合は、受信側が付与した信頼できるAuthentication-Resultsヘッダーを見ているか確認し、受信側が別の認証結果を記録していないか調べます。

DKIMが正常なら、必ず受信トレイに届きますか?

いいえ。DKIMは認証シグナルの1つです。受信側は、DMARCアライメント、SPF、送信元とIPのレピュテーション、受信者の反応、内容、独自のポリシーも評価します。有効なレコードとpassした署名は必要な根拠ですが、到達を保証するものではありません。