2026-07-06
独自ドメインのメールを無料で送受信する — Cloudflare Email Routing + Brevo + Gmail
はじめに
サービスやサイトを公開すると、問い合わせ窓口として contact@自分のドメイン のようなメールアドレスが欲しくなります。ただ、Google Workspace のような有料のメールホスティングを契約すると、そのためだけに毎月お金がかかってしまいます。
この記事では、無料サービスの組み合わせだけで独自ドメインメールの送受信を実現し、操作はすべて既存の Gmail で完結させる構成を紹介します。
使うのは以下の3つです。
| サービス | 役割 | 費用 |
|---|---|---|
| Cloudflare Email Routing | 受信(転送) | 無料 |
| Brevo | 送信(SMTPリレー) | 無料 |
| Gmail | 送受信の操作画面 | 無料 |
全体像
まず押さえておきたいのは、メールの「受信」と「送信」はまったく別の仕組みで動いているという点です。だからこそ、それぞれに別の無料サービスを割り当てる構成が成り立ちます。
- 受信: 独自ドメイン宛のメールを Cloudflare が受け取り、既存の Gmail アドレスへ転送します
- 送信: Gmail の「別名で送信」機能から Brevo の SMTP サーバーを経由して、独自ドメインの差出人名義で送信します
以下、それぞれの仕組みを見ていきます。
受信の仕組み — MXレコードと転送
あるドメイン宛のメールをどのサーバーが受け取るかは、DNS の MXレコード(Mail eXchange)で決まります。送信側のメールサーバーは、宛先ドメインの MX レコードを DNS に問い合わせ、そこに書かれたサーバーへメールを配送します。
Cloudflare Email Routing を有効化すると、Cloudflare のメールサーバーを指す MX レコードが自動で追加されます。
Type: MX Name: @ Value: route1.mx.cloudflare.net Priority: 10
Type: MX Name: @ Value: route2.mx.cloudflare.net Priority: 24
Type: MX Name: @ Value: route3.mx.cloudflare.net Priority: 40
あわせて、転送時の到達性を担保するための SPF レコード(v=spf1 include:_spf.mx.cloudflare.net ~all)も追加されます。
Cloudflare Email Routing はメールボックスではなく転送サービスです。メールを保管する場所はなく、届いたメールを指定したアドレス(今回は Gmail)へ横流しするだけです。転送先を用意せずに単体で使うことはできません。
メールボックスを持たない代わりに、容量制限も管理コストもありません。「受け口は Cloudflare、保管と閲覧は Gmail」という分担です。
送信の仕組み — Send As と SMTPリレー
Gmail には「他のメールアドレスでメールを送信」(Send As)という機能があり、外部の SMTP サーバーを指定して別アドレス名義で送信できます。
ここで「SMTP サーバーに何を指定するか」が問題になります。素朴に考えると Gmail 自身の SMTP サーバーを使えばよさそうですが、それでは送信ドメイン認証(DKIM)が通りません。受信側のサーバーは「このメールは本当に example.jp から送られたものか」を DKIM 署名で検証しますが、Gmail の SMTP は自分のドメインの署名鍵を持っていないためです。認証に失敗したメールは迷惑メール扱いされるか、受信拒否されます。
そこで、自分のドメインを認証済みの SMTP リレーサーバーを経由させます。今回は Brevo を使います。Brevo にドメインを登録して DKIM を設定しておけば、Brevo 経由で送るメールには正しい署名が付き、受信側の検証をパスできます。
Brevo のドメイン認証(DKIM・DMARC の DNS 設定)については、別記事にまとめています。未設定の場合は先にそちらを済ませてください。
設定手順
仕組みが分かれば、設定は3ステップです。
Step 1: Cloudflare Email Routing で転送を設定
- Cloudflare ダッシュボード → 対象ドメイン → Email → Email Routing
- 「Enable Email Routing」で有効化(MX・SPF レコードが自動追加されます)
- Routing Rules → Create address で転送ルールを作成
- Custom address:
contact - Action: Send to an email → 自分の Gmail アドレス
- Custom address:
- 転送先の Gmail に届く確認メールを承認
これで受信側は完了です。contact@example.jp 宛のメールが Gmail に届くようになります。
Step 2: Brevo で Sender 追加と SMTP キー発行
- Brevo → Senders, Domains & Dedicated IPs → Senders → Add a sender で
contact@example.jpを追加 - SMTP & API → SMTP タブ → 「Generate a new SMTP key」でキーを発行してコピー
Sender の追加時に確認メールが届きますが、Step 1 の転送設定が済んでいれば Gmail で受け取れます。受信設定を先に済ませるのはこのためです。
Step 3: Gmail の「別名で送信」を設定
- Gmail(PC)→ 歯車 → すべての設定を表示 → アカウントとインポート
- 「他のメールアドレスでメールを送信」→ メールアドレスを追加
- 名前と
contact@example.jpを入力(「エイリアスとして扱います」はチェックのまま) - SMTP サーバー情報を入力
SMTPサーバー: smtp-relay.brevo.com
ポート: 587(TLS)
ユーザー名: Brevoのログインメールアドレス
パスワード: Step 2で発行したSMTPキー
- 確認メールのリンクを承認(これも Step 1 の転送経由で Gmail に届きます)
設定後は、Gmail の作成画面で「From」欄をクリックすると差出人を切り替えられます。
まとめ
- メールの受信と送信は別の仕組みなので、受信は Cloudflare Email Routing、送信は Brevo SMTP と分担させれば無料で構成できます
- 受信の実体は MX レコードによる転送で、Cloudflare Email Routing にメールボックスはありません
- 独自ドメイン名義の送信には、そのドメインの DKIM 署名を付けられる SMTP リレーが必要です。Gmail の SMTP では認証が通りません
- 設定は「受信 → Brevo → Gmail」の順に進めると、各ステップの確認メールを Gmail で受け取れてスムーズです
制約として、Brevo 無料プランの送信上限は1日300通です。問い合わせ窓口の用途であれば十分すぎる枠ですが、大量送信の用途には向きません。