Mailer Autoconfirm

I've been struggling to figure out how to send emails with the SMTP using Resend. Even after integrating, doing all checks the emails still get sent from Supabase address. It seems it has to be with various issues but one I cannot seem to resolve is that mailer_autoconfirm=TRUE, I have tried setting it to FALSE via the API but have failed and nowhere to be changed in the dashboard. My stack is with Flutter + Supabase + RESEND. Any ideas how to solve this?
No description
No description
No description
No description
88 Replies
silentworks
silentworks3w ago
Did you set the Sender details > Sender email on this page https://supabase.com/dashboard/project/_/auth/smtp?
manu_angel
manu_angelOP3w ago
Thanks for replying @silentworks yes I did. I used RESENDs integration to fill those out. Everytime a new user gets created the Confirmed at timestamp gets filled out before even the OTP confirmation happens, which is why I think my mailer_autonconfirmation = TRUE.
No description
No description
garyaustin
garyaustin3w ago
How are they signing up? The createUser admin call does not use this setting.
manu_angel
manu_angelOP3w ago
We're using supabase.auth.signUp() in our Flutter app and also have tried: supabase.auth.signInWithOtp() Both still send an email from Supabase Server
No description
manu_angel
manu_angelOP3w ago
I was checking free vs paid tiers and although it says free includes SMTP, it says you cannot remove Supabase branding from emails. Could this be causing it?
No description
manu_angel
manu_angelOP3w ago
Thanks for your help @garyaustin
garyaustin
garyaustin3w ago
OK, sort of confusing what your issue is... is it auto confirm or the email from address? Try the dashboard invite link. I get from invite link with a custom SMTP on Free with the sender email filled in.
No description
silentworks
silentworks3w ago
The branding is referring to the footer of the email body which states it's sent by Supabase, not the from address. I'm on a free plan and like Gary mine shows the domain I've setup my SMTP server with.
manu_angel
manu_angelOP3w ago
The main issue is the email address for sure, cannot find a way to use the SMTP. (I think the mailer_autoconfirm is secodary)
silentworks
silentworks3w ago
And you're 100% sure it's the same project you are sending the emails from? have you tried what Gary suggested and send an invite email from the dashboard of that project?
silentworks
silentworks3w ago
Send an invite using this feature in the dashboard and see if the email is still showing the Supabase one instead of your custom SMTP email.
garyaustin
garyaustin3w ago
Any chance you have two projects and signup is going to a different one?
manu_angel
manu_angelOP3w ago
I just tested that and the email took a while, and still came in with the Supabase email address.
No description
manu_angel
manu_angelOP3w ago
Nope I only have one project in my account. Is there a way to check logs of email sending to see if there was an issue to send with the SMTP?
silentworks
silentworks3w ago
Normally if there is an issue you would get an error in the auth logs. Also is there any events happening in your Resend side of things? From their logs that is https://resend.com/logs
manu_angel
manu_angelOP3w ago
Good point! No event or logs happened on the Resend side. So there is an issue with the integration.
silentworks
silentworks3w ago
I would suggest disabling custom SMTP and then re-enabling it again. If that doesn't work, try restarting the Supabase project from the Dashboard https://supabase.com/dashboard/project/_/settings/general
manu_angel
manu_angelOP3w ago
Will try that and keep you posted, thanks!
garyaustin
garyaustin3w ago
It is odd because unless something changed very recently it does not fall back to the built in. It errors out if things are wrong.
silentworks
silentworks3w ago
Yeah I remember this being the standard behaviour too.
manu_angel
manu_angelOP3w ago
Yep, see logs. No errors, it shows the email got sent and the mail from is the Supabase address although my SMTP is turn.
No description
silentworks
silentworks3w ago
What email does it show on the /invite log below the mail.send log? I just tested this and I don't get a mail.send log in my auth logs. Gary can you confirm if you get the mail.send in your auth logs?
garyaustin
garyaustin3w ago
No send
silentworks
silentworks3w ago
So that's either a resend specific thing or you have a custom auth hook setup or something of the sort.
garyaustin
garyaustin3w ago
I think that is a sign of the hook.... It logs the hook I seem to recall in a quick test.
manu_angel
manu_angelOP3w ago
you mean there?
No description
garyaustin
garyaustin3w ago
email.send I believe is the email auth hook being called. https://supabase.com/docs/guides/auth/auth-hooks/send-email-hook Which you would have added for something It could be bypassing the SMTP settings all together and that hook has the code doing the sending in it.
manu_angel
manu_angelOP3w ago
Mmm interesting! So there is a hook that is bypassing the sending through SMTP... strange don't recall setting any hooks.
silentworks
silentworks3w ago
If you didn't set one then I think It may be your email template failing. Can you simplify your email template for the invite email and try again. I'm just looking at the code and it seems when the template fails there is a fallback to the default template, but I don't remember if this affected the from email address too.
manu_angel
manu_angelOP3w ago
Dont think that is the issue because I used the template already in Supabase.
garyaustin
garyaustin3w ago
I don't think a failing template does it either.
manu_angel
manu_angelOP3w ago
And the only hook I implemented was with RevenueCat but it does not touch the auth flows.
garyaustin
garyaustin3w ago
Check the auth hook settings.
silentworks
silentworks3w ago
Somehow it doesn't fire on my project but I'm probably on an old version of the auth service.
garyaustin
garyaustin3w ago
I can't verify and it is just a vague memory of that firing and I did test the auth hook at one time.... But it could also be from helping a user with a bad template I guess.
silentworks
silentworks3w ago
Actually scrap that I'm on the latest version.
manu_angel
manu_angelOP3w ago
No hooks!
No description
manu_angel
manu_angelOP3w ago
Maybe I should test SENDGRID haha
garyaustin
garyaustin3w ago
K.
manu_angel
manu_angelOP3w ago
What do you recommend for SMTP email solutions?
silentworks
silentworks3w ago
I use sendinblue aka brevo
garyaustin
garyaustin3w ago
Make sure you look thru the details of that log entry or post the whole thing.
I use Brevo. But many use Resend.
manu_angel
manu_angelOP3w ago
Which log entry? The mail.send or the /invite?
garyaustin
garyaustin3w ago
Mail.send as that is different than normal process
silentworks
silentworks3w ago
Did you try restarting the project by any chance?
manu_angel
manu_angelOP3w ago
Mail send logs: { "event_message": "{\"event\":\"mail.send\",\"level\":\"info\",\"mail_from\":\"noreply@mail.app.supabase.io\",\"mail_to\":\"XXXXXX@gmail.com\",\"mail_type\":\"invite\",\"msg\":\"mail.send\",\"time\":\"2025-08-05T23:48:35Z\"}", "id": "63304844-3600-41de-b754-d5c34693d68d", "metadata": [ { "host": "db-mfqqfarcfnskvbvyqvze", "component": null, "_SYSTEMD_CGROUP": null, "grant_type": null, "request_id": null, "mail_from": "noreply@mail.app.supabase.io", "message": null, "_SOURCE_REALTIME_TIMESTAMP": null, "PRIORITY": null, "_AUDIT_LOGINUID": null, "panic": null, "metering": null, "UNIT": null, "event": "mail.send", "SYSLOG_FACILITY": null, "msg": "mail.send", "mail_type": "invite", "EXECUTABLE": null, "user_id": null, "_CMDLINE": null, "action": null, "auth_event": [], "level": "info", "_PID": null, "path": null, "duration": null, "_COMM": null, "sso_provider_id": null, "header": null, "_MACHINE_ID": null, "web3_domain": null, "login_method": null, "_STREAM_ID": null, "source_type": null, "_LINE_BREAK": null, "web3_address": null, "_EXE": null, "_AUDIT_SESSION": null, "_TRANSPORT": null, "x_forwarded_proto": null, "time": null, "mail_to": "thebreathmanu@gmail.com", "_GID": null, "stack": null, "x_forwarded_host": null, "saml_entity_id": null, "status": null, "_UID": null, "valid_until": null, "web3_uri": null, "method": null, "CODE_FILE": null, "remote_addr": null, "provider": null, "_SYSTEMD_UNIT": null, "issuer": null, "error": null, "client_id": null, "MESSAGE_ID": null, "url": null, "referer": null, "_SYSTEMD_INVOCATION_ID": null, "CODE_FUNC": null, "_BOOT_ID": null, "INVOCATION_ID": null, "__MONOTONIC_TIMESTAMP": null, "web3_chain": null, "timestamp": null, "__REALTIME_TIMESTAMP": null, "immediate_login_after_signup": null, "CODE_LINE": null, "_SYSTEMD_SLICE": null, "count": null, "instance_id": null, "args": [], "SYSLOG_IDENTIFIER": null, "metadata": [], "_CAP_EFFECTIVE": null, "factor_id": null, "_SELINUX_CONTEXT": null, "expires_in": null, "version": null, "project": null } ], "timestamp": 1754437715000000 } On it!
manu_angel
manu_angelOP3w ago
Nope it did not work! Restarted the project and re-integrated the SMTP and it did not work.
No description
garyaustin
garyaustin3w ago
https://discord.com/channels/839993398554656828/1369623446530687066 Mainly for @silentworks as mail.send came up here... No resolution.
manu_angel
manu_angelOP3w ago
And still created these strange authhook log
No description
silentworks
silentworks3w ago
I tested this on a newer project without custom SMTP and mail.send is in the logs. Maybe it only shows when your custom SMTP isn't enabled.
garyaustin
garyaustin3w ago
https://discord.com/channels/839993398554656828/1331271275326214218 Another and their resolution was their account for their email provider was suspended.
manu_angel
manu_angelOP3w ago
I integrated SMTP using RESEND's UI so maybe I should do it manually.
garyaustin
garyaustin3w ago
So email.send is Supabase's email SMTP send endpoint maybe...
manu_angel
manu_angelOP3w ago
No description
silentworks
silentworks3w ago
Did you complete all your DKIM, TXT and so on setup on your domain for resend? Maybe there is a silent fallback if something on your sending server fails outside of credentials being wrong.
garyaustin
garyaustin3w ago
Are there cases where the custom provider fails with some message that then Supabase tries their own thing... LOL
silentworks
silentworks3w ago
Great minds think alike.
garyaustin
garyaustin3w ago
Will definitely want a fix so it calls that an error, if so, or at least logs it as 'something went bad so I'm helping you out no more than 3 times an hour'.
manu_angel
manu_angelOP3w ago
I did and everything is checked!
manu_angel
manu_angelOP3w ago
No description
No description
garyaustin
garyaustin3w ago
At this point, I would try another provider and see if that gets over this. Not sure how much more digging I'll do tonight and I know silentworks is past his bedtime.
silentworks
silentworks3w ago
At this point I would suggest you open a support request with Resend and hear what they say. In the time being if you have another domain you can setup custom SMTP on, I'd suggest trying Brevo and if that works then it's definitely a Resend issue.
manu_angel
manu_angelOP3w ago
Will do that!
silentworks
silentworks3w ago
Way past my bedtime for sure. It's 1:16am here.
manu_angel
manu_angelOP3w ago
Thanks for both of your help. @silentworks and @garyaustin you guys rock! Will do!
garyaustin
garyaustin3w ago
Please follow up because if this is a SMTP "silent" failure we need to push for some more indication.
silentworks
silentworks3w ago
Let us know the outcome if you get some good results or hear back from Resend.
garyaustin
garyaustin3w ago
Stop!
silentworks
silentworks3w ago
LMAO
manu_angel
manu_angelOP3w ago
haha I promise! I will contact RESEND right now.
silentworks
silentworks3w ago
I have another theory that the settings aren't getting propagated to the config that Supabase Auth uses. @manu_angel I'm going to suggest you open an issue with Supabase support too. https://supabase.com/dashboard/support/new
manu_angel
manu_angelOP3w ago
I tried but I cant because I have a free account :/ Already sent them 2 support tickets and no response.
garyaustin
garyaustin3w ago
Free gets very delayed support but most things get looked at.
manu_angel
manu_angelOP3w ago
No description
manu_angel
manu_angelOP3w ago
Ok will wait!
manu_angel
manu_angelOP3w ago
@garyaustin and @silentworks update on this! I reached out to Resend. Attached is their response.
No description
manu_angel
manu_angelOP3w ago
I've switched my SMTP config to use Brevo!! And bad news is that it is still not working.
silentworks
silentworks3w ago
In this case something might be wrong with your instance and you will need Supabase support to get it resolved.
manu_angel
manu_angelOP3w ago
This is my config in Brevo -> Supabase (see attached images) I have a few questions: - What password should and input into Supabase? Should it be the one in the SMTP (screenshot above) config or if the one in the transactional emails (here https://app-smtp.brevo.com/real-time) I've tried with both and none work though so I guess it does not matter.
No description
No description
No description
No description
manu_angel
manu_angelOP3w ago
Crazy! I am literally about to pay the 20USD premium to get support.
silentworks
silentworks3w ago
You can use either of the two keys from that brevo SMTP config page and they should work. Not the one from the transactional emails page.
manu_angel
manu_angelOP3w ago
Ok thanks! Frustrating! Any other ideas I could test apart from waiting fro Supabase to reply back? Below are my logs for an invite: { "event_message": "{\"event\":\"mail.send\",\"level\":\"info\",\"mail_from\":\"noreply@mail.app.supabase.io\",\"mail_to\":\"XXXXX@gmail.com\",\"mail_type\":\"invite\",\"msg\":\"mail.send\",\"time\":\"2025-08-08T17:32:58Z\"}", "id": "f46ada93-61b8-4d33-84ed-3bf608d69d3e", "metadata": [ { "host": "db-mfqqfarcfnskvbvyqvze", "component": null, "_SYSTEMD_CGROUP": null, "grant_type": null, "request_id": null, "mail_from": "noreply@mail.app.supabase.io", "message": null, "_SOURCE_REALTIME_TIMESTAMP": null, "PRIORITY": null, "_AUDIT_LOGINUID": null, "panic": null, "metering": null, "UNIT": null, "event": "mail.send", "SYSLOG_FACILITY": null, "msg": "mail.send", "mail_type": "invite", "EXECUTABLE": null, "user_id": null, "_CMDLINE": null, "action": null, "auth_event": [], "level": "info", "_PID": null, "path": null, "duration": null, "_COMM": null, "sso_provider_id": null, "header": null, "_MACHINE_ID": null, "web3_domain": null, "login_method": null, "_STREAM_ID": null, "source_type": null, "_LINE_BREAK": null, "web3_address": null, "_EXE": null, "_AUDIT_SESSION": null, "_TRANSPORT": null, "x_forwarded_proto": null, "time": null, "mail_to": "thebreathmanu@gmail.com", "_GID": null, "stack": null, "x_forwarded_host": null, "saml_entity_id": null, "status": null, "_UID": null, "valid_until": null, "web3_uri": null, "method": null, "CODE_FILE": null, "remote_addr": null, "provider": null, "_SYSTEMD_UNIT": null, "issuer": null, "error": null, "client_id": null, "MESSAGE_ID": null, "url": null, "referer": null, "_SYSTEMD_INVOCATION_ID": null, "CODE_FUNC": null, "_BOOT_ID": null, "INVOCATION_ID": null, "__MONOTONIC_TIMESTAMP": null, "web3_chain": null, "timestamp": null, "__REALTIME_TIMESTAMP": null, "immediate_login_after_signup": null, "CODE_LINE": null, "_SYSTEMD_SLICE": null, "count": null, "instance_id": null, "args": [], "SYSLOG_IDENTIFIER": null, "metadata": [], "_CAP_EFFECTIVE": null, "factor_id": null, "_SELINUX_CONTEXT": null, "expires_in": null, "version": null, "project": null } ], "timestamp": 1754674378000000 }
silentworks
silentworks3w ago
Do you have anything else already setup in this project? or is it a new project?
manu_angel
manu_angelOP3w ago
That is for mail.send log I've been working on this project for like 2 months now. I could try spinning up a new project and testing if it works or not.
silentworks
silentworks3w ago
Oh ok, your only option is to wait on Supabase support. Yes if you can then I'd suggest you do this
manu_angel
manu_angelOP3w ago
But migrating everything to the new project will be a pain in the ass haha

Did you find this page helpful?