VVibeFix

Guide

Supabase sign-up works but no confirmation email

Updated

Supabase recommends configuring a custom SMTP server in your Authentication settings for production use, because the built-in email service is for demonstration only. If a Send Email Hook is enabled, it handles email sending instead of SMTP.

Get it fixed: a free check first confirms the problem on your live app, usually in 4 to 10 minutes.

Free. No account needed. It usually takes 4 to 10 minutes.

Want it fixed? Our AI agent fixes it in your code and tests your live app again. See pricing.

Fixed in your code, then tested live. Check my app free

Why it happens

This applies to apps made with AI app builders that use Supabase Auth for sign-up. The signup confirmation flow needs an SMTP server to send emails. The default service is for demonstration only, with tight limits and no delivery promise, and a Send Email Hook, when enabled, takes over sending from SMTP.

Possible causes

Official fix steps

  1. Check your project's Auth logs for errors that can occur when handing over to the email provider. (supabase.com)
  2. If the handover looks fine, check the email provider's logs for delivery issues such as blocks or suppression. (supabase.com)
  3. Ask the recipient to check with their email server admin whether your email domain is blocked or quarantined. (supabase.com)
  4. Configure a custom SMTP server in the Authentication settings page for production use. (supabase.com)
  5. Obtain the SMTP server host, port, user, password and a default From address from your email sending service. (supabase.com)
  6. Set up DKIM, DMARC and SPF with your email sending service to improve deliverability. (supabase.com)

You can't see it yourself

You're signed in, your customers aren't. Your own account already exists and is allowed in, and your own address may be on the project's team, so a message to you can arrive while a new customer's does not. A preview or your own device does not show what a stranger's first sign-up sends.

Get it fixed: a free check first confirms the problem on your live app, usually in 4 to 10 minutes.

Free. No account needed. It usually takes 4 to 10 minutes.

Want it fixed? Our AI agent fixes it in your code and tests your live app again. See pricing.

What to do next

App broke after you published it? Our AI agent fixes it in your code, then tests your live app again so you see the result yourself. The first check is free.

Fixed in your code, then tested live. Check my app free

Related: Supabase confirmation email not sending: the fix · Error sending confirmation email in Supabase: the fix · Supabase magic-link emails not delivered to your users

Sources

VibeFix's free check can show this on your live app: our AI agent tries your live app like a new user and shows you what breaks. On request, it reviews your code independently (VibeFix isn't part of any app builder), fixes it in your code and re-checks it live.

Last checked: 6 November 2026, against the sources listed above.

VibeFix is independent. Lovable, Bolt, Replit, Base44, v0 and Supabase are trademarks of their owners.

Want it fixed?

Our AI agent fixes it in your code and tests your live app again. See pricing.

It starts with a free check that confirms the problem on your live app, no account needed.

Check my app free

More guides