Your app’s confirmation emails, from your own domain.
Sign-up confirmations and password resets go out from our EU servers, signed with your domain’s DKIM. In Supabase you fill in six fields.
- 14 days free, €0 today
- Then from €12.90/month + VAT (annual plan)
- Servers and data in the EU
noreply@yourdomain.comYour apprelay.mailsenpai.com2525from your area••••••••••The built-in SMTP is for testing
Supabase includes an email service meant for tests. For real users you need your own SMTP.
The limit of the built-in service. From the third email in the same hour, Supabase returns an error and the email is not sent.
- Your team
- Your users
Emails only go to the addresses of your project’s team. Your users never get them.
- Delivery
- Uptime
The built-in service comes with no written commitment (SLA) on delivery or uptime.
With your own SMTP you set the limit yourself, in Rate Limits. Supabase documentation
Four steps, then your emails go out on their own
Each step is shown below, just as you’ll see it.
- 1Today, €0
Start the trial
14 days. Your username and password are waiting in your area.
- 2In your domain’s DNS
Publish SPF and DKIM
These records authorize and sign your emails. We give them to you and check them.
yourdomain.comDNS check- SPF
v=spf1 include:… ~allpendingcheckingOK - DKIM
selector._domainkey · public keypendingcheckingOK - DMARC
v=DMARC1; p=nonependingcheckingOK
Domain ready to send - SPF
- 3In Supabase
Fill in the fields
Turn on Custom SMTP and paste the details. No code to write.
AuthenticationEmailsSMTP SettingsCustom SMTP - 4In Supabase
Raise the limit and test
In Rate Limits choose how many emails per hour. Then do a test sign-up.
Your new user’s inboxjulia@example.comExample: Confirm your sign-up, from Your app. Hi Julia, please confirm your address.
YADKIM-signedYour appConfirm your sign-upHi Julia, please confirm your address.YADKIM-signedYour appReset your passwordYou asked to change your password.YADKIM-signedYour appYour login linkUse this link to sign in.YADKIM-signedYour appConfirm your new addressYou changed your email: confirm it here.
The fields, already filled in
Copy one field at a time and paste it into Supabase.
noreply@yourdomain.comYour apprelay.mailsenpai.com2525from your areain secretsfrom your areain secretsSender email: noreply@yourdomain.com Sender name: Your app Host: relay.mailsenpai.com Port number: 2525 Username: (from your area) Password: (from your area)
- Port
2525with STARTTLS - Sender: an address on your verified domain
- Rate Limits: you choose how many emails per hour
If the dashboard labels change, the direct link is supabase.com/dashboard/project/_/auth/smtp
The prompt to paste
For your app’s other emails (welcome, notifications, receipts). Copy it and paste it into your AI assistant.
Add email sending to my app through the SMTP Senpai HTTP API.
Create a server-side function send-email (never in the browser) that does:
POST https://app.mailsenpai.com/relay/v1/invio
Header: Authorization: Bearer ${MSP_API_KEY} (project secret, never in the code)
JSON body: to, from (noreply@mydomain.com), subject, html, text
Check the response (ok) and write any errors to the log.
Use it for welcome emails, notifications and receipts. Login emails (confirmation and password reset)
stay with Supabase: I set them up myself in Authentication, SMTP Settings.Set up my app's email sending through an external SMTP server. Use environment variables only, never credentials in the code: SMTP_HOST=relay.mailsenpai.com SMTP_PORT=2525 (STARTTLS) SMTP_USER and SMTP_PASS (I'll fill them in myself) MAIL_FROM=noreply@mydomain.com Create a sendEmail(to, subject, html, text) function with the standard library of my stack (Nodemailer in Node, smtplib in Python, the framework's mailer) and use it for sign-up, password reset and notifications. Handle errors and write them to the log.
Enable Custom SMTP: on Sender email: noreply@yourdomain.com Sender name: your app's name Host: relay.mailsenpai.com Port: 2525 Username and Password: from your SMTP Senpai area
Frequently asked questions
Do I need my own domain?
Yes: emails go out with your domain and its DKIM signature, which proves they come from you. We give you the DNS records to publish (SPF and DKIM, plus DMARC, which we recommend) and tell you when they are set up correctly.
Does Supabase still limit sending?
Yes: with your own SMTP, Supabase starts at 30 emails an hour, according to its documentation. You can change the value in Authentication, under Rate Limits.
Can I use it for my app’s other emails too?
Yes. Supabase sends the login emails with the SMTP details you entered. For welcome emails, notifications and receipts you use the same SMTP from your backend, or our API with your msp_ key.
Can I give my username and password to the AI assistant?
Better not: keep them in your project’s secrets or environment variables. In the prompt, write only the variable names, as in the text above.
How much does it cost after the trial?
The trial lasts 14 days and you pay €0 today. After that, from €12.90 a month for 10,000 emails on the annual plan (VAT excluded). If you cancel from your area before the trial ends, you pay nothing.
Is support available in English?
Yes. Our team answers in English and Italian, by ticket and email.
Six fields in Supabase. Your emails go out from your domain.
- 14 days free, €0 today
- Cancel anytime from your area
- Support in English and Italian, by ticket and email
€0 todayTry it free
