Cursor·Fix

Fix: Supabase Auth Confirmation Emails Not Being Sent

Quick Answer

Supabase's built-in email has a limit of 4 emails per hour on the free plan. For production, configure a custom SMTP provider in Authentication > Settings > SMTP Settings. Use Resend ($0 for 3,000 emails/month).

Quick Fix Summary

IssueConfirmation emails not sending
Fastest fixCheck email rate limits
Use this page ifUsers sign up but never receive confirmation email

Symptoms

  • !Users sign up but never receive confirmation email
  • !Password reset emails not arriving
  • !Emails work in development but not production
  • !Error: Email rate limit exceeded

Step-by-Step Fix

1

Check email rate limits

Free plan: 4 emails/hour. This is for development only. In production, you MUST configure custom SMTP. Go to Authentication > Settings > Email Settings to see current limits.

2

Configure custom SMTP

Go to Authentication > Settings > SMTP Settings. Enable custom SMTP and enter: Host: smtp.resend.com, Port: 465, User: resend, Password: your Resend API key.

3

Check spam folders

Supabase's default email domain (mail.app.supabase.io) sometimes gets flagged as spam. Custom SMTP with your own domain fixes this.

4

Disable email confirmation for development

In Authentication > Settings > Email Auth, toggle off 'Enable email confirmations' during development. Re-enable for production.

Frequently Asked Questions

The built-in email is rate-limited (4/hour on free) and often hits spam filters. Custom SMTP (Resend, SendGrid) gives you higher limits, better deliverability, and custom sender addresses.

Yes, Resend's free tier includes 3,000 emails/month — enough for most early-stage products.

Related

Weekly Signals

Get the next fix, switch, or warning before it hits your build.

Join builders getting the community signals, fix patterns, and tool shifts that matter before they show up everywhere else.

Follow the signals →