Fix guides / Supabase confirmation emails not arriving (rate limit exceeded)

Supabase signup and reset emails are not arriving

Users sign up but never get the confirmation email. Password reset links do not arrive. Or the app shows email rate limit exceeded or Email address not authorized. This is not a bug in your code: it is Supabase's built-in email service doing what it is designed to do.

Why it happens

Supabase includes a default email sender so you can try Auth without setup, but it is not meant for real users. According to Supabase's docs, without custom SMTP it:

  • only sends to email addresses that are members of your Supabase organization's team (everyone else gets Email address not authorized), and
  • is limited to a very small number of emails per hour (currently 2), which gives email rate limit exceeded.

So it worked when you tested with your own address, and fails for everyone else.

The fix: connect your own email provider

  1. Pick a transactional email provider (for example Resend, Postmark, Amazon SES, or SendGrid) and verify your sending domain there. This usually means adding a few DNS records (SPF and DKIM).
  2. Get the SMTP host, port, username, and password from the provider.
  3. In Supabase: Authentication, then Emails (SMTP settings). Enable custom SMTP and paste the details. Use a sender like no-reply@yourdomain.com.
  4. Check Authentication, then Rate Limits. After enabling custom SMTP the email limit starts low (30 per hour); raise it to fit your traffic.

Also check

  • Spam folder. Emails from an unverified domain often land there. Domain verification fixes most of it.
  • Redirect links. If the email arrives but the link opens localhost, fix your Site URL (see our guide on login redirecting to localhost).
  • Do you need confirmation at all? For a closed beta you can turn off Confirm email in the Email provider settings, but keep it on for public apps to prevent fake signups.

How to verify

Sign up with an address that is not on your Supabase team (a fresh Gmail works). The email should arrive within a minute.

Still stuck? No shame in it: these bugs hide in settings your AI builder cannot see. Send us the error and your repo and we will fix it as a pull request within 24 hours, explained in plain English, for $49. Not fixed means full refund.
Request a fix

Last updated 2026-10-19.