独自ドメインメール環境をCloudflare + Brevoで無料構築した話
フッターの著作権表示を作り始めたら、利用規約とプライバシーポリシーのページが必要になり、連絡先メールアドレスを書く段になって「独自ドメインのメールがない」と手が止まった。そこからCloudflare Email RoutingとBrevoのセットアップに流れ込み、気づけばドメイン戦略の棚卸しまで一気に片付けていた。
フッターと法的ページの整備
フッター作成
サイトのフッターに利用規約・プライバシーポリシーへのリンクと、著作権表示を追加した。年表示はnew Date().getFullYear()で動的に取得する形式。
privacy.vue / terms.vue の作成
プライバシーポリシーと利用規約を独立したVueページとして作成した。Chrome DevToolsで表示を確認しながら、レイアウトの崩れやリンク切れがないことをチェック。
Cloudflare Email Routing(受信)
[email protected] 宛のメールを [email protected] へ転送する設定を入れた。
設定手順
- Cloudflareダッシュボードでinfo-accounting.comのEmail Routingを有効化
- 転送先として個人Gmailアドレスを登録し、確認メールを承認
- Catch-allルールまたは個別アドレスルールで
info@宛を転送
ポイント
- 受信は無制限・無料。何通届いても課金されない
- MXレコードはCloudflareが自動設定してくれる
- DNSをCloudflareで管理していれば数クリックで完了
Brevo(旧Sendinblue)でSMTP送信環境
受信はCloudflareで解決したが、[email protected] からメールを送る手段がなかった。ここでBrevoを導入。
セットアップ
- Brevoアカウント作成、送信ドメインにinfo-accounting.comを登録
- SPF・DKIMレコードをCloudflare DNSに追加(Brevoが指定する値をそのまま貼る)
- Brevoの管理画面でSMTPキーを発行
GmailからBrevo経由で送信
Gmailの設定 > 「他のメールアドレスを追加」で、BrevoのSMTPサーバー情報を入力。これで、Gmailの送信元プルダウンから[email protected]を選べるようになった。受信も送信もGmail一画面で完結する。
無料枠
- 1日300通まで送信可能
- 個人〜小規模の用途なら十分すぎる量
Google Workspace不要という結論
当初はGoogle Workspaceの契約を検討していたが、以下の構成で同等の機能を無料で実現できた。
| 機能 | 手段 | 費用 |
|---|---|---|
| 受信 | Cloudflare Email Routing → Gmail転送 | 無料 |
| 送信 | Gmail → Brevo SMTP → info@として送信 | 無料(300通/日) |
| 管理画面 | Gmail | 既存 |
Google Workspace(月額680円〜/ユーザー)を契約する必要がなくなった。
Cloudflareアカウントのメールは個人Gmailのまま
独自ドメインメールでCloudflareにログインすると、DNS設定→メール転送→Cloudflareログインの循環依存が生まれる。Cloudflareが落ちたときにメールもログインも両方失う。アカウントのメールは個人Gmailのまま据え置きにした。
ドメイン戦略の整理
複数ドメインの用途がぼんやりしていたので、この機会に整理した。
| ドメイン | 用途 | インフラ |
|---|---|---|
| info-accounting.com | メインのサービスサイト | Cloudflare Pages(Nuxt 4) |
| app.eurekapu.com | 現行Herokuアプリの移行先 | Cloudflare Workers |
| www.eurekapu.com | WordPress(現状維持) | 現行ホスティング |
| eurekapu.com | ルートはWordPressへ | 現行のまま |
Heroku → Cloudflare Workers 完全移行
app.eurekapu.com で動いているHerokuアプリは、Cloudflare Workersへ完全に移行する方針を決めた。Herokuの有料Dynoを止められるのでランニングコストが下がる。
連絡先メールの統一
各サイトの問い合わせ先を [email protected] に統一。窓口が一つになることで、どのサービスからの問い合わせかをメール本文やsubjectで判別する運用にした。
今日の学び
- Cloudflare Email Routingは受信側をDNS設定だけで片付けてくれる。MXレコードを手動で書く必要がなく、有効化ボタンを押した瞬間にメールが届き始めた
- 送信側はBrevoのSMTPキーをGmailに登録するだけ。SPF・DKIMのDNSレコードを2本追加して、送信テストが通るまで15分で終わった
- 「Google Workspaceを契約しなきゃ」と思い込んでいたが、受信と送信を別サービスで組み合わせるだけで同じことができた。月額コストがゼロになるのは地味に大きい
- ドメインの用途を表にして並べたら、eurekapuのHeroku依存が浮き彫りになった。移行の優先度を上げる判断材料になった
次のステップ
- Heroku → Cloudflare Workersの移行計画を具体化する
- Brevoの送信ログを確認し、SPF/DKIMが正しくパスしているか検証する
- 各サイトのフッター・問い合わせページの連絡先を[email protected]に更新する