DKIMレコードの作成と確認
ブラウザーでDKIMの鍵ペアを作成し、DNSに登録するレコードを取得できます。公開済みのDKIMレコードも、ドメインとセレクターを指定して確認できます。無料・登録不要で、秘密鍵がこのページの外に出ることはありません。
鍵の作成にはJavaScriptが必要です。
DKIMレコードを確認
セレクターとドメインは、署名されたすべてのメールのヘッダーに含まれています(DKIM-Signature: … s=selector; d=domain)。
DKIMレコードとは
DKIMは、送信サーバー上の秘密鍵で各メールに署名します。対応する公開鍵は、DNSのselector._domainkey.yourdomainにTXTレコードとして登録します。受信側はこの公開鍵で、メールが改ざんされておらず、本当に貴社のドメインから送られたものかを確認できます。
セレクターがあるため、1つのドメインで複数の鍵を使えます。送信ツールごとに鍵を分けたり、ローテーションのたびに新しい鍵を追加したりできます。
レコードの中身
- v=DKIM1:バージョン。省略できますが、書く場合は先頭に置きます
- k=rsaまたはk=ed25519:鍵の種類
- p=:公開鍵。空欄は鍵が失効していることを示します
- t=y:テストモード。正常に動いたら削除します
- 秘密鍵:DNSには登録しません
RSA 2048、1024、Ed25519のどれを選ぶか
DNSの管理画面に長いレコードを登録できない場合を除き、RSA 2048を選んでください。
| 鍵 | 強度 | レコードの長さ | 対応する受信側 |
|---|---|---|---|
| RSA 2048 | Googleが推奨。標準の選択肢 | 約400文字:255文字の文字列が2つ必要 | すべての受信側 |
| RSA 1024 | 受信側が受け入れを義務付けられている最小の鍵長 | 1つの文字列に収まる | すべての受信側 |
| Ed25519 | 短く、強固 | 44文字 | まだ一部の受信側のみ。RSAでも併せて署名してください |
自社サーバーでのDKIM設定
PostfixとOpenDKIMの組み合わせなど、自社で運用しているサーバー向けです。
- 1
鍵ペアを作成
ページ上部でドメイン、セレクター、鍵の種類を選びます。鍵はブラウザー内で作成します。
- 2
公開鍵をDNSに登録
TXTレコードを追加します。DNSの管理画面で値が255文字までに制限されている場合は、分割したレコードを使ってください。
- 3
秘密鍵をインストール
PEMファイルをメールサーバーに保存し、署名サービスだけが読み取れるようにします。署名サービスの設定では、そのセレクターを指定してください。
- 4
確認してテスト送信
上のチェックツールでレコードを確認します。次にGmail宛てにテストメールを送り、「メッセージのソースを表示」でDKIM: PASSと表示されるか確認します。
配信サービスではサービス側の鍵をそのまま使う
ここで作成した鍵を使うのは、署名するサーバーを自社で管理している場合だけです。メール配信サービスは、サービス側で作成した鍵で署名します。
- Account Engagement。PardotではDomainKeyが「ドメイン管理」に表示されます。セレクターは200608です。
- Marketing Cloud Next。DKIM用のCNAMEレコード3つ(s1-e360-…)をSalesforceが用意します。参照先の鍵はSalesforceが管理します。
- Google WorkspaceとMicrosoft 365。Googleでは管理コンソールで鍵を生成します(セレクター「google」)。Microsoftでは、表示される2つのCNAME(selector1、selector2)をDNSに登録します。
その他の無料ツール
DKIM設定のよくある質問
DKIMの鍵とレコードについて、よくある質問に短くお答えします。
DKIMレコードはどうやって作成すればよいですか?
鍵ペアを作成し、公開鍵をselector._domainkey.yourdomainのTXTレコード(値はv=DKIM1; k=rsa; p=…)としてDNSに登録します。秘密鍵は、メールに署名するサーバーにインストールします。
DKIMの鍵をオンラインで生成しても安全ですか?
このページでは、鍵はブラウザ標準の暗号機能(WebCrypto)で作成し、どこにも送信しません。セキュリティ要件が特に厳しい場合は、opendkim-genkeyなどを使ってメールサーバー上で直接作成してください。
DKIMセレクターとは何ですか?
受信側がどの鍵を取得すればよいかを示す名前で、自由に決められます。DKIM-Signatureヘッダーではs=の値として、DNSでは._domainkeyの前に入ります。
1024ビットと2048ビット、どちらを使うべきですか?
2048ビットです。受信側は1024ビットを受け入れる必要があり(RFC 8301)、Googleは2048ビットを推奨しています。1024ビットは、DNSの管理画面に長いレコードを登録できない場合にだけ使ってください。
ドメインのDKIMセレクターはどう調べますか?
そのドメインから届いたメールを開いてヘッダーを表示し、DKIM-Signatureを探します。s=の値がセレクター、d=がドメインです。DNSから、ドメインのセレクターを一覧で取得する方法はありません。
DKIMの鍵はどのくらいの頻度でローテーションすべきですか?
無理なく続けられるスケジュールでローテーションし、秘密鍵が漏えいした可能性があるときはすぐに行います。新しい鍵を新しいセレクターでDNSに登録して署名を切り替え、配送中のメールがすべて届いてから古い鍵を削除します。
入力した内容は保存されますか?
いいえ。鍵はブラウザ内で作成し、どこにも送信しません。チェックツールでは、ブラウザがDNS名を私たちのサーバーに送り、サーバーが公開リゾルバーに問い合わせます。保存もログの記録も一切しません。