Guide
Supabase confirmation email not sent after publish but works in preview
Updated
Supabase's built-in email service is meant for demonstration only. The official guidance is to set up your own custom SMTP server in your Authentication settings. If emails still don't arrive, check your project's Auth logs and your email provider's logs.
This applies to apps made with AI app builders such as Lovable that use Supabase Auth for sign-up emails. Lovable projects on the built-in backend manage email authentication settings in Lovable instead of in Supabase.
Fixed in your code, then tested live. Check my app free
Why it happens
Unless you configure a custom SMTP server, Supabase Auth refuses to deliver messages to addresses that are not part of the project's team, and the built-in provider has a very low rate limit. Once a message is handed over to an email provider, Supabase has no control over whether it reaches the inbox.
Possible causes
- No custom SMTP server is configured, so Supabase Auth refuses to deliver messages to addresses that are not part of the project's team.
- The built-in email provider has a very low rate limit, so confirmations stop arriving when many people sign up at once.
- The email provider blocks delivery, for example because of past bounced-back emails or a suppression list.
- The user's email server blocks or quarantines incoming mail from your sending domain, or the message lands in spam.
- A misconfigured custom SMTP provider causes handover errors that show in your project's Auth logs.
- Your email sending rate limit is lower than your signup volume needs. After you set up custom SMTP, a low limit of 30 messages per hour is applied at first.
Official fix steps
- Check your project's Auth logs for errors that can occur when handing over to the email provider. (supabase.com)
- Set up a custom SMTP server with an email sending service, then enable and configure it on the Authentication settings page. (supabase.com)
- Choose a default From address for your SMTP setup, usually something like no-reply@example.com. (supabase.com)
- After saving the SMTP settings, adjust the low rate limit on the Rate Limits configuration page to a value that fits your use case. (supabase.com)
- If delivery still fails, check the email provider's logs for blocks or a suppression list. (supabase.com)
- Ask the user to check with their email server admin whether your email domain is blocked or quarantined. (supabase.com)
You can't see it yourself
You're signed in, your customers aren't. With the built-in email provider, Supabase Auth only sends messages to addresses that belong to your project's team. Mail to a team member's address can therefore arrive while mail to a new customer's address is refused.
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: new users never get it · Supabase "Error sending confirmation email" (500): causes and how to fix it · "email rate limit exceeded" in Supabase and Lovable: which limit you hit and how to fix it
Sources
VibeFix's AI agent signs up to your live app like a new person and shows whether sign-up and your pages work. It may not show undefined directly.
Last checked: 30 October 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.