[無料ツール一覧](/tools) <!-- -->/ SPF / DMARC / CAA レコード生成

# SPF / DMARC / CAA レコード生成ツール

メール認証と証明書発行制御の DNS レコードを、フォーム入力から組み立てます。**SPF の DNS 参照上限（10）の警告**、**DMARC の段階強化（none → quarantine → reject）のガイド**、**CAA の証明書発行停止を防ぐ安全ガイド**を添えるので、設定ミスでメールや証明書が止まるリスクを避けながら下書きを作れます。登録不要・無料。

- ・タブで SPF / DMARC / CAA を切り替え、入力すると即座にレコードを生成
- ・SPF は DNS 参照数を数え、上限 10（RFC 7208）に近づくと警告
- ・CAA は利用中の CA の許可漏れ（証明書発行停止）を警告
- ・**すべてブラウザ内で処理。入力内容は送信されません**

**ご利用について:**

<!-- -->

入力内容はサーバーに送信されず、すべてブラウザ内で処理されます。生成されるレコードは**下書き**です。DNS へ適用する前に、自社のすべての送信元を含んでいるか必ずご確認ください。

SPFDMARCCAA

ドメイン名（任意・ホスト名の表示用）example.co.jp

許可する IPv4 アドレス / CIDR

1 行に 1 つ（カンマ区切りも可）。DNS 参照を増やしません。

許可する IPv6 アドレス / CIDR

include（メール配信サービス等）

各社の指定値を 1 行に 1 つ。include は DNS 参照を 1 つずつ消費します（RFC 7208 の上限 10）。

\[ ]a（このドメインの A/AAAA を許可）\[ ]mx（このドメインの MX を許可）

列挙以外の送信元の扱い（all）

\[x]\~all（ソフトフェイル・推奨）\
拒否はせず「怪しい」と印を付ける。まずはこちら。\[ ]-all（ハードフェイル）\
列挙以外を拒否。全送信元を漏れなく含めてから。\[ ]?all（ニュートラル）\
判定しない。検証用途のみ。

### 生成された SPF レコード（下書き）

DNS 参照数:

<!-- -->

0

<!-- -->

/ 10

ホスト名`（ドメイン名・例: example.co.jp）`種別`TXT`値`v=spf1 ~all`

値をコピー

- SPF レコードは 1 ドメインにつき 1 つだけです。既存の v=spf1 レコードがある場合は、2 つ目を追加せず 1 つに統合してください（複数あると Permerror になります）。

ドメイン名（任意・ホスト名の表示用）example.co.jp

ポリシー（p）

\[x]none（監視のみ・推奨スタート）\
拒否や隔離をせずレポートだけ集める。まずここから。\[ ]quarantine（隔離）\
認証失敗を迷惑メール扱い。none で観察後に。\[ ]reject（拒否）\
認証失敗を受信拒否。最後の段階。

集約レポート送信先 rua（推奨）dmarc\@example.co.jp

日次の集約レポートを受け取るメールアドレス。ポリシー強化前の観察に必須級です。

詳細オプション（sp / ruf / pct / アラインメント）

サブドメイン用ポリシー sp（任意）指定しない（p を継承）

失敗レポート送信先 ruf（任意）dmarc-failures\@example.co.jp

適用率 pct（既定 100）100

強化を段階導入したいとき（例: 10）に。100 のときは省略されます。

DKIM アラインメント adkim\[x]r（緩和・既定）\[ ]s（厳格）

SPF アラインメント aspf\[x]r（緩和・既定）\[ ]s（厳格）

### 生成された DMARC レコード（下書き）

ホスト名`_dmarc.（ドメイン名）`種別`TXT`値`v=DMARC1; p=none`

値をコピー

**CAA は証明書を発行できる CA を制限します。**

<!-- -->

利用中のすべての発行元（ACME / certbot、レンタルサーバーの無料 SSL、CDN（Cloudflare 等））が使う CA を漏れなく許可してください。漏れると次回更新で証明書が発行できず、期限切れでサイトが止まります。

ドメイン名（任意・ホスト名の表示用）example.co.jp

発行を許可する CA（issue）

\[ ]Let's Encrypt `letsencrypt.org`\[ ]Google Trust Services `pki.goog`\[ ]DigiCert `digicert.com`\[ ]Sectigo `sectigo.com`\[ ]GlobalSign `globalsign.com`\[ ]Amazon `amazon.com`

レンタルサーバーや CDN（Cloudflare 等）の無料 SSL を使う場合は、その事業者が使う CA を許可します。例えば Cloudflare の SSL は Let's Encrypt と Google Trust Services を利用します（最新の利用 CA は各社の案内をご確認ください）。

その他の CA を追加（任意）

上の一覧にない CA のドメインを 1 行に 1 つ（カンマ区切りも可）。

\[ ]ワイルドカード証明書を禁止する（issuewild ";"）\
\*.example.com の証明書を使わない場合のみ。使う予定があれば禁止しないでください。

詳細オプション（iodef / critical）

インシデント通報先 iodef（任意）security\@example.co.jp

ポリシー違反の発行要求があったときに CA から通報を受けるメールアドレス。

\[ ]critical フラグ（128）を立てる\
CA がプロパティを理解できないとき発行を拒否させる。通常は不要（0）です。

### 生成された CAA レコード（下書き）

許可する CA を 1 つ以上選ぶと、ここにレコードが表示されます。

- 発行を許可する CA が 1 つも指定されていません。CAA で issue を許可しないと、すべての CA が証明書を発行できず、更新時に発行が拒否されて期限切れでサイトが停止します。利用中の CA を必ず 1 つ以上指定してください。
- CAA は証明書の発行（申請）時にのみチェックされます（RFC 8659）。設定しても発行済みの証明書は無効になりませんが、更新時に発行できなくなる点に注意してください。

## 使う前に知っておきたいこと

- 生成されるレコードは**下書き**です。DNS に適用する前に、 自社が使うすべての送信元（業務システム・メール配信サービス・グループウェア等）を 漏れなく含んでいるか必ず確認してください。漏れがあると正規メールが届かなくなります。
- SPF は **1 ドメインに 1 レコードのみ**です。 既存の `v=spf1` がある場合は 2 つ目を足さず 1 つに統合してください。
- DMARC は**いきなり reject にしない**のが鉄則です。 まず `p=none` でレポート（rua）を 1〜2 週間観察し、正規メールが認証を 通過していることを確認してから quarantine、reject と段階的に強化します。
- CAA は**証明書を発行できる CA を制限**します。 利用中のすべての発行元（ACME / certbot、レンタルサーバーの無料 SSL、CDN）が使う CA を 漏れなく許可してください。漏れると次回更新で証明書が発行できず、期限切れでサイトが止まります。 CAA は発行（申請）時にのみチェックされます（RFC 8659）。
- DKIM は公開鍵の生成・登録の性質上、利用中のメールサービス側で鍵を発行し、 指定されたセレクタと値をそのまま登録するのが安全です（推測で値を作らないでください）。 本ツールが DKIM の生成タブを設けていないのはこのためです。

## なぜブラウザ内処理なのか

入力する送信元 IP や include の構成は、**自社のメール送信インフラの内訳**にあたります。本ツールはレコードの組み立てを完全にブラウザ内（JavaScript）で行い、 サーバーへの送信を一切行いません。通信ログを開発者ツールで開きながら使えば、 実際に通信が発生していないことを確認できます。

## 関連する解説記事・ツール

- [SPF / DKIM / DMARC の違いと役割分担](/blog/spf-dkim-dmarc-difference)
- [SPF の DNS 参照上限（10）とフラット化の考え方](/blog/spf-flattening)
- [DMARC 設定ガイド｜段階強化の手順](/blog/dmarc-setup-guide)
- [DMARC ポリシーを none から段階的に強化する](/blog/dmarc-policy-tightening)
- [CAA レコードで証明書を発行できる認証局を限定する](/blog/dns-caa-record-smb-setup)
- [設定済みの SPF / DKIM / DMARC を日本語で読み解くツール](/tools/dns-auth-explainer)
- [ドメイン全体の健全性を無料診断する](/diagnose)
