# 送信ドメイン認証 — 運用の考え方（繰り返し用・正本のひとつ）

**最終更新: 2026-05-09**

このファイルは **同じ説明を何度もする負荷を減らす**ための **運用者向けの短い正本**です。以下は **`docs/manual.md`**・**`docs/mail-auth-for-nonengineers.md`**・**`docs/funnel-spec.md`**・**`docs/README.md`**・**`SPEC.md`** にも要約が載ります（内容は同じ趣旨です）。

---

## 1. サーバに SSH して毎回 `.env` を触る運用にしない

- **利用者（エンドユーザー）にやってもらうのは、お名前.com 等の DNS に「画面の表」を転記することだけ**です。
- **運用側のポリシー（DMARC の強さ・SPF include 先・署名ホスト名など）は、アプリの設定ファイルとデプロイで揃える**のが原則です。
- 「サーバでこの値を足して」と **担当者に個別メールで伝える運用**は、抜け・誤り・同じ質問の繰り返しの原因になるため **推奨しません**。

## 2. 既定はどこにあるか

- **DMARC の案内・DNS 照合の基準** … `config/putage.php` の `dmarc_policy` / `dmarc_rua`（環境変数未設定時の既定をここで決める）。
- **SPF include・送信 IP・DKIM 署名ホスト** … 同じく `config/putage.php` と `.env.example` の変数名（**値はリポジトリに書かない**）。
- **運用ゾーンの SPF TXT を Cloudflare に載せる** … `php artisan monaka:spf-include-sync-cloudflare`（デプロイパイプラインや運用スクリプトから実行可能）。

「サーバでやれ」と言われたときは **まずこのリポジトリの `config/putage.php` と `docs/mail-auth-ops-defaults.md`（本ファイル）を見る**。

## 3. いつだけ `.env` を使うか（例外）

- **秘密（API トークン）**や **環境ごとに必ず変える値**だけ `.env` に置く（テンプレートは `.env.example`）。
- **方針を弱める・強める**ときは、`MONAKA_DMARC_POLICY` など **名前だけ** `.env` で上書きできるが、**デフォルトは config に寄せ、個別依頼でサーバ作業を増やさない**。

## 4. 利用者への一言（コピペ用）

「送信ドメイン認証は、この管理画面に出る **3 行（＋説明）を DNS にそのまま追加**してください。運用側の中身は **サービス側の既定設定**で揃っています。**サーバの設定を自分で触る必要はありません**。」

---

## 関連コマンド・参照

- `php artisan monaka:spf-include-sync-cloudflare` … 運用側 `_spf.*` の TXT
- `php artisan monaka:dkim-sync-cloudflare` … DKIM 公開鍵 TXT（Cloudflare 自動公開が有効なとき）
- `php artisan putage:spf-include-export` … 手動で TXT を確認したいときの表示用
- 詳細手順: `docs/monaka-dkim-cloudflare.md`
