Skip to main content
Replace Supabase’s default email with Ark in under 2 minutes. Get higher deliverability, remove rate limits, and track every auth email.
Why switch from Supabase’s default email? Supabase’s built-in SMTP has strict rate limits and only sends to project team members unless you configure a custom provider. Ark removes these limits and adds delivery tracking.
The fastest way to connect Supabase to Ark:
1

Open Ark Dashboard

Go to arkhq.io/org/integrations in your Ark dashboard.
2

Click Connect to Supabase

Click the green Connect to Supabase button. You’ll be redirected to Supabase to authorize Ark.
3

Authorize Access

Log in to Supabase (if needed) and authorize Ark to manage your project’s auth settings.
4

Select Project & Configure

Choose which Supabase project to connect, enter your sender email and name, then click Connect Project.
Done! Ark automatically creates dedicated SMTP credentials and configures your Supabase project. All auth emails now route through Ark.
Managing multiple projects? You can connect multiple Supabase projects from the same Ark organization. Each gets its own dedicated credentials for easy tracking.

Manual Setup (5 minutes)

1

Get Your Ark Credentials

Go to arkhq.io/org/credentials and create a new credential if you don’t have one.You’ll need:
  • Username: Your credential name (e.g., acme/production)
  • Key: Your credential key (this is your SMTP password)
2

Verify Your Sending Domain

Supabase auth emails need to come from your domain. If you haven’t already:
  1. Go to arkhq.io/org/domains
  2. Add your domain (e.g., yourdomain.com)
  3. Add the DNS records shown
  4. Wait for verification (usually under 5 minutes)

Domain Setup Guide

Detailed DNS configuration instructions
3

Configure Supabase SMTP

In your Supabase project dashboard:
  1. Go to AuthenticationEmailSMTP Settings
  2. Toggle Enable Custom SMTP to ON
  3. Enter these settings:
SettingValue
Hostsmtp.arkhq.io
Port587
UsernameYour credential (e.g., acme/production)
PasswordYour credential key
Sender email[email protected]
Sender nameYour app name
  1. Click Save
4

Send a Test Email

Trigger a test by:
  • Creating a new user in Supabase Auth
  • Or using the password reset flow
Check your inbox. The email should arrive within seconds and show as “Delivered” in your Ark dashboard.
Done! All Supabase auth emails now route through Ark with full delivery tracking.

What Changes

Before (Supabase Default)After (Ark)
Strict rate limitsNo limit (pay per email)
Only sends to team membersSends to any address
No delivery trackingFull tracking in dashboard
Generic sender reputationYour domain’s reputation
No webhook notificationsReal-time delivery events

Configuration Reference

SMTP Settings

Host: smtp.arkhq.io
Port: 587 (STARTTLS) or 465 (Implicit TLS)
Username: your-org/credential-name
Password: your-credential-key
Encryption: TLS/STARTTLS
Email TypeSuggested Address
Auth emails (default)[email protected]
Transactional[email protected]
Notifications[email protected]
Use a subdomain like mail.yourdomain.com if you want to separate your transactional email reputation from your main domain.

Supabase Auth Email Types

Ark handles all Supabase authentication emails:
Email TypeTriggered By
ConfirmationUser signs up
Password ResetUser requests password reset
Magic LinkPasswordless login
Email ChangeUser changes email address
InviteAdmin invites new user
ReauthenticationSensitive action requires re-verification
All emails use your custom templates configured in Supabase. Ark delivers them—it doesn’t modify content.

Self-Hosted Supabase

For self-hosted Supabase instances, configure SMTP in your docker-compose.yml or environment:
# docker-compose.yml
services:
  supabase-auth:
    environment:
      GOTRUE_SMTP_HOST: smtp.arkhq.io
      GOTRUE_SMTP_PORT: 587
      GOTRUE_SMTP_USER: your-org/production
      GOTRUE_SMTP_PASS: your-credential-key
      GOTRUE_SMTP_ADMIN_EMAIL: [email protected]
      GOTRUE_MAILER_AUTOCONFIRM: false
Or via environment variables:
GOTRUE_SMTP_HOST=smtp.arkhq.io
GOTRUE_SMTP_PORT=587
GOTRUE_SMTP_USER=your-org/production
GOTRUE_SMTP_PASS=your-credential-key
GOTRUE_SMTP_ADMIN_EMAIL=[email protected]

Rate Limits

Supabase Side

After connecting custom SMTP, Supabase allows up to 30 emails per hour by default. Adjust this in your Supabase Rate Limits settings: AuthenticationRate LimitsRate limit for sending emails

Ark Side

Ark has no hard rate limits. You’re billed per email sent at $0.50 per 1,000 emails. See billing for details.

Tracking Delivery

Every email sent through Ark is tracked. View delivery status in:
  1. Ark Dashboard: arkhq.io/org/emails
  2. API: GET /v1/emails with filtering
  3. Webhooks: Real-time delivery notifications

Set Up Webhooks (Optional)

Get notified when auth emails are delivered, bounced, or fail:
  1. Go to arkhq.io/org/webhooks
  2. Add your endpoint URL
  3. Select events: MessageSent, MessageBounced, MessageDeliveryFailed

Webhook Setup

Full webhook configuration guide

Troubleshooting

Check these in order:
  1. Domain verified? Check arkhq.io/org/domains
  2. Credentials correct? Username format is org-name/credential-name
  3. SMTP enabled? Toggle must be ON in Supabase SMTP settings
  4. Credits available? Check arkhq.io/org/billing
Symptoms: “535 Authentication failed” in Supabase logsSolutions:
  • Username is your credential name (e.g., acme/production), not your email
  • Password is the credential key, not your Ark account password
  • Check credential is active in dashboard
Causes: New domain, missing DNS records, or email content triggersSolutions:
  1. Verify all DNS records are configured (SPF, DKIM, DMARC)
  2. Wait 24-48 hours for domain reputation to build
  3. Check email content doesn’t trigger spam filters
  4. Ask recipients to mark emails as “not spam”
Causes: Firewall blocking port 587, or network issuesSolutions:
  • Try port 465 instead of 587
  • Check firewall allows outbound SMTP
  • For serverless (Vercel, Netlify): SMTP should work, but consider REST API for edge functions
Cause: Supabase’s internal rate limit, not Ark’sSolution: Increase the limit in your Supabase Rate Limits settings:AuthenticationRate LimitsRate limit for sending emailsSet to a higher value (e.g., 100/hour for production apps).

Managing Your Connection

Verify Connection Status

Check your integration status at arkhq.io/org/integrations. You can:
  • Verify: Click the refresh icon to confirm the connection is active
  • View in Supabase: Link to your project’s SMTP settings
  • Disconnect: Remove the integration (resets Supabase to default email)

Disconnect

To disconnect Ark from your Supabase project:
  1. Go to arkhq.io/org/integrations
  2. Find your connected Supabase project
  3. Click the disconnect button
  4. Confirm the action
Disconnecting will reset your Supabase project to use the default email provider. Auth emails will revert to Supabase’s built-in SMTP with its rate limits.

Beyond Auth Emails

Once Ark is configured for Supabase auth, you can also use it for:
  • Transactional emails from your app (order confirmations, notifications)
  • User communications (welcome emails, onboarding sequences)
  • System alerts (error notifications, admin alerts)
Use the same credentials with our SDKs or REST API for non-auth emails.

FAQ

No. Ark only handles email delivery. Your auth logic, templates, and user flows remain unchanged.
Yes. Create separate credentials in Ark for each project. This lets you track emails per-project in your dashboard.
Supabase will queue the email and retry. Ark has 99.9%+ uptime. Check status.arkhq.io for current status.
0.50per1,000emails.Newaccountsget0.50 per 1,000 emails. New accounts get 5 free credit (~10,000 emails). Most auth-only apps stay within free tier. See billing.
Templates are configured in Supabase, not Ark. Edit them in AuthenticationEmail Templates in your Supabase dashboard.

Next Steps