cd ~/blog/brevo-cloudflare-email

2026-06-14

Brevo + Cloudflare でメール送信を設定する

BrevoCloudflareメールDNS

メール周りの構築には普段 Brevo + Cloudflare を使っています。設定項目の意味や手順を自分用にまとめておきます。

全体像

メールが届くまでの流れはざっくり以下の通りです。

受信サーバーは DKIM・DMARC で送信元を検証しています。Cloudflare の DNS にこの2つのレコードを追加することが設定の本質です。

SPF はどうなるか

一般的なメール認証の話では SPF もセットで語られますが、Brevo 経由の送信では少し事情が異なります。

メールには2種類の「送信元」があります。

項目内容SPF チェック対象
Envelope From(Return-Path)実際の送信経路✅ ここが対象
Header From(From ヘッダー)メールに表示される差出人❌ 対象外

Brevo は Envelope From に自社ドメイン(bounces.brevo.com など)を使います。そのため SPF チェックは Brevo 側のドメインに対して行われ、自分のドメインに SPF レコードがなくても問題ありません。

DMARC は「Envelope From と Header From が同じドメインか(SPF アライメント)」または「DKIM の署名ドメインと Header From が一致するか(DKIM アライメント)」のどちらかを満たせばパスします。Brevo は Envelope From に自社ドメインを使うため SPF アライメントは必ずミスマッチになりますが、DKIM アライメントでパスさせる設計になっています。

Brevo のドメイン登録画面で SPF レコードが表示されない・Cloudflare に登録していないのに動いているのはこのためです。

設定手順

1. Brevo にドメインを登録

Brevo の管理画面 → Senders, domains, IPsDomains → ドメインを追加します。

追加後、DKIM の DNS レコード値が表示されます。

2. Cloudflare に DNS レコードを追加

Cloudflare ダッシュボードにログイン後、以下の手順で DNS レコードの登録画面に進みます。

  1. 左サイドバーのドメイン一覧から対象ドメインを選択
  2. 左メニューの DNSレコード をクリック
  3. レコードを追加する ボタンをクリック

各レコードについて Type・Name・Value を入力し、保存 します。

DKIM(CNAME レコード)

Brevo が表示する値をそのまま入力します。

Type:    CNAME
Name:    mail._domainkey
Value:   {ランダム文字列}.dkim.brevo.com
  • DKIM はメール1通ごとに電子署名を付ける仕組みです
  • 受信側は DNS に登録された公開鍵で署名を検証します
  • Brevo の鍵ペアを使うため、CNAME で Brevo のレコードを参照するだけで問題ありません

Cloudflare の CNAME はデフォルトで Proxy(オレンジ雲)が ON になっていますが、DKIM の CNAME は DNS only(グレー雲) にする必要があります。Proxy が ON だと Brevo 側の検証が通りません。 Proxy(オレンジ雲)

DMARC(TXT レコード)

Type:    TXT
Name:    _dmarc
Value:   v=DMARC1; p=none; rua=mailto:自分のメールアドレス
  • p=none — 認証失敗しても何もしません(様子見モード)
  • p=quarantine — 迷惑メールフォルダに振り分けます
  • p=reject — 受信を拒否します

最初は p=none にしてレポートを受け取り、問題がなければ段階的に厳しくしていくのが定石です。

3. Brevo で認証を確認

DNS の伝播には数分〜数時間かかります。設定後、Brevo の管理画面で「Authenticate」ボタンを押して認証済みになれば完了です。

まとめ

  • Brevo 経由では DKIM のみが必須です(SPF は不要)
  • CNAME は Cloudflare の Proxy を OFF にします
  • DMARC は最初 p=none で様子を見ます
  • 送信テストには mail-tester.com が便利です