Skip to content
MigrationResend alternative

Migrate from Resend to Sendix

Most of the send body carries over unchanged. Change the base URL and key, rename scheduled_at, and switch webhook verification to X-Sendix-Signature.

  • Same Bearer + JSON model
  • Tags keep {name, value}
  • Event names mostly identical
  • Idempotency-Key supported
Last reviewed
smtp migration
drop-in
.envResend → Sendix
- SMTP_HOST=smtp.resend.com+ SMTP_HOST=smtp.sendix.dev- SMTP_PORT=587+ SMTP_PORT=587  # STARTTLS- SMTP_USER=resend+ SMTP_USER=<username from dashboard>- SMTP_PASS=re_••••••••+ SMTP_PASS=<Sendix API key>
DNSSMTP / APIWebhooks
Short answer

How do I migrate from Resend to Sendix?

Verify your domain in Sendix, then change SMTP from smtp.resend.com (user "resend") to smtp.sendix.dev:587, or point POST https://api.resend.com/emails calls at https://sendix.dev/api/v1/emails — both use a Bearer API key and a JSON body with from, to, subject and html/text. Rename scheduled_at to scheduled_for, keep tags as {name, value}, and switch webhook verification from Svix headers to X-Sendix-Signature; email.delivered, email.bounced and email.complained keep their names.

Migration plan

Four steps, no big-bang cut-over.

Run Resend and Sendix side by side until the new path is proven.

  1. 01
    DNS

    Add and verify your domain

    Publish the Sendix DKIM TXT record (<selector>._domainkey), the bounce CNAME (bounce.<your-domain> → bounce.sendix.dev) and add include:mail.sendix.dev to your SPF record. Resend’s DKIM records can stay while both providers send.

  2. 02
    SMTP or API

    Point sending at Sendix

    from, to, cc, bcc, subject, html, text, reply_to, attachments and tags keep their meaning; scheduled_at becomes scheduled_for, and stored templates are referenced with template_id and template_data. The Idempotency-Key header works the same way.

  3. 03
    events

    Recreate your webhooks

    Create a Sendix webhook for the events you consumed from Resend, verify X-Sendix-Signature, and map event names with the table below.

  4. 04
    suppressions

    Import suppressions, then cut over

    Export bounced, unsubscribed and complained addresses from Resend, add them with POST /v1/suppressions, move traffic gradually, then remove Resend’s SPF include.

Concept map

Resend → Sendix, side by side.

Where each piece of your current integration lives in Sendix.

SMTP serverResendsmtp.resend.com:587Sendixsmtp.sendix.dev:587 (STARTTLS)
SMTP loginResendUsername "resend", API key as passwordSendixUsername from your dashboard, API key as password
Send endpointResendPOST https://api.resend.com/emailsSendixPOST https://sendix.dev/api/v1/emails (JSON)
API authenticationResendAuthorization: Bearer <API key>SendixAuthorization: Bearer <API key>
TemplatesResendHTML, or React Email rendered in your appSendixVersioned {{variable}} templates (template_id + template_data)
Delivered eventResendemail.deliveredSendixemail.delivered
Bounce eventResendemail.bouncedSendixemail.bounced
Complaint eventResendemail.complainedSendixemail.complained
Webhook securityResendSvix headers (svix-id, svix-timestamp, svix-signature)SendixX-Sendix-Signature (HMAC-SHA256)
SuppressionsResendBounced and complained addresses suppressed automaticallySendixSuppression list API (/v1/suppressions)

Resend is a trademark of its owner. Its column summarizes public documentation as of September 12, 2026; confirm current details in Resend’s docs before migrating.

Before you switch

What to check in your setup.

Resend features that need a plan, and where they land in Sendix.

React Email

Keep rendering React Email components in your app and send the resulting html, or move stable copy into Sendix templates.

Webhook verification

Replace the Svix verification with an HMAC-SHA256 check over t + "." + raw body from X-Sendix-Signature.

Audiences and broadcasts

Contacts and campaigns move to Sendix Audience (contacts, segments, topics) and Broadcasts.

Inbound mail

Receiving is built in: enable it on a domain, publish MX records and subscribe to email.received.

FAQ

Frequently asked questions

Answers for teams moving from Resend.

Can I keep using React Email?

Yes. Render your React Email components to html in your app as you do today and pass the result in the html field (and text for the plain-text part).

Can I run Resend and Sendix at the same time?

Yes. Each provider signs with its own DKIM selector, and a single SPF record can include both during the transition — keep it to one SPF record and within the 10-DNS-lookup limit. A domain can have only one DMARC record, so keep your existing one if it already has a policy.

Is there a Sendix SDK I can install?

The Node SDK and CLI exist as source packages but are not yet published to npm, so most teams integrate over the REST API (plain HTTPS and JSON) or SMTP. Neither needs an extra dependency.

What happens to addresses that bounced with my old provider?

Import them as suppressions with POST /v1/suppressions and a reason of hard_bounce, unsubscribed or complained. Sendix then reports email.suppressed instead of sending to those addresses.

Free to start

Try it on the free plan, keep the same integration as you grow.

The free plan includes 1,000 emails per month. Paid plans change volume and limits, not your API calls or SMTP settings.

Ready to send your first email?

1,000 emails free every month. No credit card required. Upgrade only when you outgrow the free tier — and we will let you know when that time comes.

Managed SaaS platform · Native SMTP engine · SOC 2 in progress