eusend
SMTP

Supabase custom SMTP

Set up custom SMTP in Supabase to send Auth emails — confirmations, magic links, password resets — through eusend, and fix the errors that come up on the way.

Supabase's built-in email service is meant only for testing: it sends 2 messages an hour, and only to addresses on your project's team. In production you must bring your own SMTP provider for auth emails (confirmations, magic links, password resets, invites). Pointing Supabase at eusend gives you DKIM-signed delivery on your own domain, with every auth email visible in your eusend dashboard.

Connect in one click

If you would rather not copy anything by hand, connect Supabase from Settings → Integrations in the eusend dashboard. You authorize eusend against your Supabase organization, pick the project and a verified sending domain, and we write the SMTP settings into that project's auth config for you — along with a raised auth-email rate limit.

The key we create for the connection can only send from the domain you chose, and disconnecting revokes exactly that key and clears the SMTP block again.

The manual setup below stays supported, and is the right choice if you would rather not grant write access to your project's auth configuration.

Connection values

ParameterTypeDescription
Hostrequiredsmtp.eusend.devThe submission server.
Portrequired465Implicit TLS. STARTTLS (587) is not supported.
UsernamerequiredeusendThe literal string "eusend".
Passwordrequiredeu_live_…Any eusend API key.
Sender emailrequiredno-reply@yourdomain.comMust be a verified domain.

Setup

Open SMTP settings

In the Supabase dashboard go to Authentication → Emails → SMTP Settings and toggle on Enable Custom SMTP.

Enter the connection

Supabase → Custom SMTP
Host:          smtp.eusend.dev
Port:          465
Username:      eusend
Password:      <an eusend API key, eu_live_…>
Sender email:  no-reply@yourdomain.com   (must be a verified domain)
Sender name:   Your App

Save.

Send a test email

Use Supabase's Send test email button — it exercises the whole path end to end. A delivered test confirms your key and sender domain are correct.

ℹ

The sender email must be an address on a domain you have verified in eusend. An unverified sender domain and a wrong username or key both come back as a 535 — the response text says which.

Adjust the rate limit

Supabase caps auth email throughput separately from your SMTP provider, and starts a project with custom SMTP at 30 emails an hour. Under Authentication → Rate Limits, raise "Rate limit for sending emails" to match your expected sign-up volume — otherwise Supabase, not eusend, becomes the bottleneck. eusend's own sending limits still apply on top.

Customizing the email templates

Auth emails are generated and sent by Supabase itself; eusend is only the transport. Customize the templates under Authentication → Emails → Templates in Supabase. Everything eusend adds — DKIM, tracking, suppression — is applied to whatever Supabase hands off.

Troubleshooting

SymptomCause and fix
Error sending confirmation email, Error sending magic link email or Error sending recovery emailSupabase could not hand the message to SMTP. Open Logs → Auth in Supabase for the SMTP response: a 535 is credentials or an unverified sender domain (see below), a timeout is a wrong host or port.
535 in the Auth logRead the response text. Invalid credentials means the username is not the literal eusend or the API key is wrong. A message naming a domain means the From address is on a domain you have not verified. In Supabase the key goes in Password and the address in Sender email.
Email address not authorizedSupabase is still using its built-in service, which only sends to your team's addresses. Enable Custom SMTP is off or the settings were not saved.
email rate limit exceededSupabase's own limit, not eusend's — 30 an hour until you raise it under Authentication → Rate Limits.
Test email never arrivesPort is 587 or 25. eusend only accepts implicit TLS on 465. With an eu_test_ key the send is accepted and shown in your eusend dashboard but never delivered.
535 Too many failed attempts or 421 Connection rejectedRepeated failed logins block your IP address for up to an hour. Fix the credentials, then wait before retrying.

See the SMTP overview for the full status-code table.