Skip to main content

Better Deliverability

Higher inbox rates than Supabase’s default email service

Custom Domain

Send from your own domain instead of Supabase’s

Email Logs

Track all auth emails in your Unosend dashboard

Prerequisites

Before you begin, make sure you have:
  • A verified domain in Unosend — Add domain
  • SMTP credentials from Unosend — Get API key
  • A Supabase project

Setup Guide

1

Get Your SMTP Credentials

First, get your SMTP credentials from Unosend. Go to API Keys and note your credentials:
SettingValue
Hostsmtp.unosend.co
Port587 (recommended)
Usernameunosend
PasswordYour API Key (un_xxxxxx...)
2

Configure Supabase SMTP

Open your Supabase project dashboard and navigate to:Project SettingsAuthenticationSMTP SettingsEnable Custom SMTP and fill in the following:
FieldValue
Sender email[email protected]
Sender nameYour App Name
Hostsmtp.unosend.co
Port587
Usernameunosend
Passwordun_your_api_key
Open Supabase Auth Settings →
3

Test the Integration

Test your setup by triggering a password reset or sign-up confirmation:
test-auth.ts
// Trigger a password reset email
const { error } = await supabase.auth.resetPasswordForEmail(
  '[email protected]',
  { redirectTo: 'https://yourapp.com/reset-password' }
)

// Or sign up a new user (sends confirmation email)
const { data, error } = await supabase.auth.signUp({
  email: '[email protected]',
  password: 'securepassword123'
})
Check your Unosend Logs to verify the email was sent successfully.
4

Customize Email Templates (Optional)

Supabase lets you customize auth email templates. Navigate to:AuthenticationEmail TemplatesAvailable templates you can customize:
  • Confirm signup
  • Invite user
  • Magic Link
  • Change Email Address
  • Reset Password

Troubleshooting

Verify your domain is verified in Unosend. The sender email must match your verified domain.
Double-check your API key in the password field. Make sure you’re using the full key (un_xxxx...).
Try port 465 with SSL instead of port 587 with TLS.

Next Steps