Supabase Auth: Changes to default email provider #29370
Replies: 33 comments 73 replies
-
Appreciate the reasoning behind the changes 👍 It does feel like a short timeline though, in order for us to implement a custom SMTP server, so we can send emails outside of our org 😒 |
Beta Was this translation helpful? Give feedback.
-
Also I and other users on Discord use Brevo . |
Beta Was this translation helpful? Give feedback.
-
Does this only affect free plans? If I upgrade will I not be affected? |
Beta Was this translation helpful? Give feedback.
-
Since I'm being forced to use SendGrid, I'd strongly prefer to use their dynamic email templates instead of Supabase's. Can you recommend any step-by-step documentation for setting up an Email Hook with the SendGrid API? I'm mostly struggling with figuring out how to pass custom parameters. My use case is to send invites to join a team. I'd like to include the logo of the team in the email. My dynamic template is set up to accept this parameter, but I need to pull it from the teams table in supabase before hitting the sendgrid API with all of the relevant confirmation links and tokens. |
Beta Was this translation helpful? Give feedback.
-
Hey everyone, update from today. Email template customization will be allowed and customized email templates will not be reverted to default. Team has decided that restricting email template customization is not viable and a big breaking change. We may need to do go back to this in the future if abuse continues and our other measures like allowing projects to only send messages to authorized email addresses do not improve the situation. We continue to urge all customers regardless of plan that use the default SMTP service for live applications to move to a custom SMTP provider as soon as able. During the day today the platform will allow you to customize email templates. |
Beta Was this translation helpful? Give feedback.
This comment was marked as off-topic.
This comment was marked as off-topic.
-
please could this be the reason why my Django application keep saying 500: INTERNAL_SERVER_ERROR on vercel ? after supplying my environment variables |
Beta Was this translation helpful? Give feedback.
-
I don't mind paying for an email service but I do mind being de-anonymized and doxed, and so many of those providers required actual, real documents which is a huge invasion of privacy. Can I just pay you more to have this go away? You must have info on who's sending spam (because what other email abuse can there be). Very unsportsmanlike for them to give you only such a short notice which you then have to pass on to your clients. In general I'd rather pay Supabase a premium for handling emails so that I don't have to worry about one more third party provider. |
Beta Was this translation helpful? Give feedback.
-
Today I open my dashboard and I found the message, I check the list of emails sent and there were only 5: (mom, dad, my wife, my daughter and my dog [who has a service role]). Aand I said... 'WTF Supabase!' This is not abuse at all! 🤷♂️ Then I read this. 😁 There will be no choice but to make a script in a Google account, which acts as a webhook, some triggers to communicate the creation of a new user and token, the email is sent with a magicklink that redirects to the App and blah blah blah... (☞゚ヮ゚)☞ Argentinian way 😎 The Favaloro Script [bypass master] ☜(゚ヮ゚☜) |
Beta Was this translation helpful? Give feedback.
-
I am not using the auth email sending confirmation for the created user account in my app. I just turn off the confirmation of the email. Does it resolve the issue? since my app , was the only admin account can create or signup a user account. My question is, it will still affect to my app? or it will not. |
Beta Was this translation helpful? Give feedback.
-
First how can i get rid of this warning off my view, i don't even send emails on supabase |
Beta Was this translation helpful? Give feedback.
-
Does this include Magic Link sign ins? So going forward I would need to setup a provider for logging in? |
Beta Was this translation helpful? Give feedback.
-
i am a free plan user and i don`t have custom domain also how can i use custom smtp |
Beta Was this translation helpful? Give feedback.
-
Was planning on integrating with Postmark, as I only plan to use e-mail auth for my project. I guess my timeline to make that happen is now bumped up. Bad situation for everyone not prepared for this, but it is what it is. Thanks for the communication on this, that's all we can ask for when situations like this arise. |
Beta Was this translation helpful? Give feedback.
-
I'm on the free/hobby account, is there anyway I can see my log files? I keep getting "Error sending confirmation email" but can't see any more details than that. BTW I set up with Brevo, pretty easy I guess. I wish I'd seen your note about Resend though |
Beta Was this translation helpful? Give feedback.
-
I see no problem with this as I don't send the emails, however this also completely prevents me from creating fake users for testing purposes from the UI. I don't see why this would be blocked since 'Creating users via this form does not send email'. Attempts to create user fail with the message 'Failed to create user: Email address "a@a.com" cannot be used as it is not authorized'. Could you look into this or give advice on a different way to create test users? And no, creating custom SMTP for such simple testing that does not require email sending is not viable. |
Beta Was this translation helpful? Give feedback.
This comment was marked as off-topic.
This comment was marked as off-topic.
-
I am not using the email approach. I am using notion provider's
I checked the log, it says
The error starts to show this afternoon too |
Beta Was this translation helpful? Give feedback.
-
Hi, I'm not a tech guy, we use supabase for a flutterflow app. I get the message that I need to configure smtp every time I log in in supabase, but we don't actually send emails through supabase, and our accounts are google workspace. Could you please disable that message for my account? |
Beta Was this translation helpful? Give feedback.
-
All the users of my app login using google workspace, the question is |
Beta Was this translation helpful? Give feedback.
-
while created user mannually, i am only able to created one user while my own gmail, with other gmail id , i am not able to create any user. How can i allow that that with all email i can create user? |
Beta Was this translation helpful? Give feedback.
-
Is this impacting existing users? I'm getting an error when trying to login now that my email address is not authorized. We aren't sending any emails, and don't require confirmation of accounts. These emails have worked previously, but now I can't login with them. Emails that are members of the project CAN login even though they're listed as the same domain of the users who cannot login. |
Beta Was this translation helpful? Give feedback.
-
Getting hit hard by this this morning, please add instructions for Mailgun 😭 |
Beta Was this translation helpful? Give feedback.
-
Everything works on my end, before and after using Resend for SMTP, even though I did it after the deadline. Supabase is the superior choice as always. |
Beta Was this translation helpful? Give feedback.
-
My project was also affected and was only fixed 20 minutes ago after I found the workaround mentioned above, set up Resend as a custom SMTP provider, and finally made new user registrations possible again. However, wasn't this supposed to be only about sending emails, or did I miss the information indicating that it would also prevent new user registrations? |
Beta Was this translation helpful? Give feedback.
-
I've just added a fake SMTP to allow account creation again. Same situation as others: I don't use Supabase to send emails. If you are sure that you don't rely on any emails being sent from Supabase, just fill in: smtp.gmail.com with random username/password. |
Beta Was this translation helpful? Give feedback.
-
I use gmail smtp with random username and password. |
Beta Was this translation helpful? Give feedback.
-
To use our own SMTP provider we need to be able to whitelist where the connection is coming from. Are the IP addresses used by Supabase for this documented anywhere? I was not able to find anything related to that. Thanks |
Beta Was this translation helpful? Give feedback.
-
we should be able to sign up new users after turning off email confirmation for testing purposes |
Beta Was this translation helpful? Give feedback.
-
As our user base has grown, we are taking steps to make sure we are able to continue to provide a safe, secure, robust free plan experience. To ensure that email-based auth continues to work for all users on Supabase, we're making changes if you're using the default email provider. This allows us to continue to offer our default provider in a more sustainable and resilient manner.
For maximum flexibility and control over your auth emails, we suggest one of the following:
If you still want to use the default email provider, these are the changes being planned:
Email template customization will be allowed and customized email templates will not be reverted to default.
26th September: If you do not have a custom SMTP server set up, emails can only be sent to email addresses in your project's organization. So for example, if your organization has the following members: person-a@example.com, person-b@example.com and person-c@example.com , this means that email messages from Auth will only be sent to these addresses.
These measures are taken to prevent abuse to our shared SMTP service. In the future, we may consider increasing the email rate limits once we see a drop in abuse.
Frequently asked questions
Why such a short notice?
Supabase uses a third-party email sending provider that has mandated we reduce email abuse significantly or they will be forced to block all email sending. A tragedy of the commons.
Can't Supabase switch to a different email sending partner?
Yes, but we would run into the same issues. All email sending services are required to monitor abuse and force their customers to follow the same rules.
Can't Supabase send emails on their own, without a third party?
Not really. You can't just send email on the web today without investing a lot of money and time (unblocking port 25, keeping IP addresses out of spam lists, etc.). This is not our core competency and do not have plans to start doing this today.
How long does it take to set up a custom SMTP provider?
Fortunately this is very easy. You can use any email sending service for this, really popular ones include:
All you need to do is create an account, verify your sending domain and finally input the SMTP username and password in the Auth settings page.
What if I turn off email confirmations, can I use it then?
Currently this behavior is not supported and we'll be rolling out a fix for it during the first week of October.
Confirming email addresses is where most of the email message activity for a project originates. Turning it off can be a viable option for some projects that are still in the early testing, development or experimental phase.
Be aware that even if you turn off email confirmations the forgot password or reset password flows in your app continue to function. They also send messages, and starting 26th September those messages will be delivered only to the members of the Supabase organization that owns the project. All other end-users will get a message similar to "Email address not authorized." Effectively, the forgot password / reset password flow will be broken for your project.
What if I want just username + password authentication and using
<username>@<fakedomain>
instead?Please don't do this. Part of the reason why we were forced to lock down these changes is bounced emails, probably from use cases like this.
Official username + password support is going to be made available in the coming year, and until then:
But the best thing to do is:
I'm using the admin API to generate links, and not really sending using Supabase's default provider. Do I need to do anything?
All projects using generate link via the admin API without custom SMTP have been patched to allow the behavior. We still strongly urge those customers to set up custom SMTP regardless.
Just because you're mostly using the admin API to generate links to send in custom email messages, doesn't mean that the Auth server is not configured to use Supabase's shared SMTP service. Your Auth API can be called from your frontend at any time, especially in edge cases such as to handle forgot password or other similar flows, which you may not be handling via the admin API.
Therefore we urge all customers that do use the admin API to set up a custom SMTP sending service regardless.
If you are not interested in setting this up, you can instruct the Auth server to ignore all emails (pretend it's sending them) by configuring a Send Email Auth Hook as a Postgres function that does nothing.
How can I disable the warning banner?
You can disable the warning banner by setting up a custom SMTP provider , or, if your project doesn't use email at all, by disabling the email provider.
Updates
20th September 2024
Email template customization will be allowed and customized email templates will not be reverted to default.
Team has decided that restricting email template customization is not viable and a big breaking change. We may need to do go back to this in the future if abuse continues and our other measures like allowing projects to only send messages to authorized email addresses do not improve the situation. We continue to urge all customers regardless of plan that use the default SMTP service for live applications to move to a custom SMTP provider as soon as able.
20th September: Email template customization will no longer be possible without setting up a custom SMTP provider. Email templates already customized can still be customized until 24th September.24th September: Projects without a custom SMTP provider will have their custom email templates returned back to the default ones from Supabase. This means that any auth emails sent out from your project will use the default email template.Beta Was this translation helpful? Give feedback.
All reactions