Supabase Confirmation Email Not Sending
Workaround available Web, server (all SDKs) Updated October 21, 2026
Quick answer
The built-in email service is rate limited to a few emails per hour and meant for testing. Set up custom SMTP (Resend, SendGrid, Mailgun) and raise the rate limit.
Most likely fix: Configure custom SMTP.
Symptoms
Signup seems to succeed but no confirmation or magic-link email arrives; password reset returns 'email rate limit exceeded' (over_email_send_rate_limit).
Why it happens
- Default Supabase SMTP allows only a handful of emails per hour
- Email rate limit reached
- Emails landing in spam from the shared sender
- Wrong Site URL / redirect URL in the email template
How to fix it
Try these in order — the most common fix is first.
1. Configure custom SMTP
- Dashboard > Authentication > Emails > SMTP Settings
- Enable custom SMTP
- Enter host, port, username, password and sender address from your provider
2. Raise the email rate limit
- Dashboard > Authentication > Rate Limits
- Increase emails per hour to what your SMTP plan supports
3. Check URL configuration
- Authentication > URL Configuration
- Set the Site URL to your production domain and add redirect URLs
4. Check auth logs
- Dashboard > Logs > Auth
- Look for SMTP errors or rate-limit responses
This guide also covers
- supabase email not sending
- supabase email rate limit exceeded
- supabase confirmation email not received
- supabase magic link not working
Still not working?
If Supabase keeps failing, you're not alone. See every Supabase problem users report or the alternatives people switch to.
Other Supabase errors
- Supabase Project Paused
- Supabase Max Client Connections Reached
- Supabase 'New Row Violates Row-Level Security Policy' Error
- Supabase Auth Redirects to Localhost
- Supabase 'Invalid Refresh Token: Refresh Token Not Found'
- Supabase Edge Function 546 WORKER_LIMIT Error
- Supabase Storage Upload Failed
- Supabase 'Canceling Statement Due to Statement Timeout'
- Supabase Realtime Not Working
- Supabase Database Connection 'Network Is Unreachable'
- Supabase Start Not Working (Docker Container Unhealthy)