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. 1. Configure custom SMTP

    1. Dashboard > Authentication > Emails > SMTP Settings
    2. Enable custom SMTP
    3. Enter host, port, username, password and sender address from your provider
  2. 2. Raise the email rate limit

    1. Dashboard > Authentication > Rate Limits
    2. Increase emails per hour to what your SMTP plan supports
  3. 3. Check URL configuration

    1. Authentication > URL Configuration
    2. Set the Site URL to your production domain and add redirect URLs
  4. 4. Check auth logs

    1. Dashboard > Logs > Auth
    2. 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