uSend Docs
SMTP guides

Supabase Auth

Send Supabase confirmation and reset emails through usend with custom SMTP.

Supabase's built-in mailer is rate limited and meant for testing. Pointing Auth at usend sends confirmation, magic-link and password-reset emails from your own domain. Reference: Send with SMTP.

Before you start

  1. Verify your domain in usend.
  2. Create a sending_access API key for it.
  3. Make sure your usend organization can send to your users: a sandbox organization can email only its verified members.

Configure Supabase

In the Supabase dashboard open Authentication, then the SMTP Settings (under Emails), and enable custom SMTP:

FieldValue
Sender emailAn address on your verified domain, for example [email protected]
Sender nameYour product name
Hostsmtp.usend.et
Port number587 (or 465)
Minimum interval between emailsRaise if you need to; usend allows 10 messages per second per key
Usernameusend
PasswordYour usend API key

Save, then trigger a sign-up or password reset to test it.

With the CLI

For a local or self-hosted stack, the same settings go in supabase/config.toml:

supabase/config.toml
[auth.email.smtp]
enabled = true
host = "smtp.usend.et"
port = 587
user = "usend"
pass = "env(USEND_API_KEY)"
admin_email = "[email protected]"
sender_name = "Acme"

Tips

  • Edit the email templates in Supabase (Authentication → Emails) so they match your brand. Keep {{ .ConfirmationURL }} intact.
  • Auth emails should be plain and fast. Avoid open and click tracking on them: a rewritten confirmation link looks suspicious to some filters. See Open and click tracking.
  • If users report emails in spam, see Why emails go to spam.
  • To send your own app mail from an Edge Function instead, see Supabase Edge Functions.