見出し画像

Brevo(旧Sendinblue)とSupabaseを連携してメール送信する手順

1. Brevoでの準備

  1. Brevoにログインし、管理画面(SMTP & APIなど)にアクセス。

  2. ドメイン認証(SPF, DKIM) を実施し、no-reply@あなたのドメインなど、トランザクショナルメールとして使用する差出人を作成。

  3. SMTPページで以下の情報を確認または生成する:

    • SMTPサーバー(Host): smtp-relay.brevo.com

    • SMTPユーザー(ログイン): Brevoが発行するメールアドレス形式

    • SMTPキー(Master Password): APIキーではなくSMTPキーを使用

    • ポート番号: 587や465など(TLS/SSL対応ポート)

Brevoの画面

2. Supabaseでの設定

  1. Supabaseダッシュボードにログイン。

  2. 該当プロジェクトを選び、左メニューから 「Authentication」 を選択。

  3. 上部メニューの 「Settings」(または「Configuration」)タブを開き、下へスクロールして 「Custom SMTP」 セクションへ。

  4. 下記の項目を入力していく:

    • SMTP Host: smtp-relay.brevo.com

    • SMTP Port: 587(TLS/STARTTLS推奨。465の場合はSSL暗号化)

    • SMTP Username: BrevoのSMTPユーザー

    • SMTP Password: BrevoのSMTPキー(Master Password)

    • From: 例)no-reply@あなたのドメイン(Brevo側で認証済みの送信元を使用)

  5. 入力が完了したら 「Save」(または「Update」)して設定を保存。

Supabaseの画面

3. テスト・確認

  1. メール送信テスト:

    • ユーザー登録、Magic Linkログイン、パスワードリセットなどのAuthフローを実行し、実際にメールが届くか確認します。

  2. 迷惑メールフォルダに入っていないかも要チェック。


4. 運用時の注意点

  1. レートリミット

    • Supabase側では、カスタムSMTP利用時に1時間あたり30通程度の初期リミットが設定されています。大規模運用前には「Rate Limits」ページを確認。

  2. BOT対策

    • 攻撃者による大量のメール送信やスパム行為を防ぐため、CAPTCHAの導入や、不要なサインアップを抑制する設定を検討。

  3. ドメイン認証(SPF, DKIM, DMARC)

    • メールの到達率向上・スパム回避のため、Brevo側だけでなくDNS設定も適切に行う。

  4. 認証メールとマーケティングメールの分離

    • トランザクショナルメールの送信元を分けると、万が一片方でスパム評価が下がっても影響を最小限に抑えられます。


まとめ

  • Brevo側: ドメイン認証 → SMTPキー取得 → SMTP送信元の設定

  • Supabase側: 「Authentication」→「Settings」→「Custom SMTP」にBrevoのSMTP情報を入力 → 保存

  • 確認: Authメール(Magic Linkなど)が正常に届くかテスト

  • 運用: レートリミット・スパム対策・ドメイン認証をしっかり行い、安全かつスムーズなメール配信を実現する。

これでBrevo SMTPを使ったSupabase Authのメール送信環境が整います。あとは実際のAuthフロー(ユーザー登録、ログイン、パスワードリセット等)で配信を試し、運用上の最適化を進めてみてください。


参考

https://help.brevo.com/hc/en-us/articles/7924908994450-Send-transactional-emails-using-Brevo-SMTP


いいなと思ったら応援しよう!