Skip to content
MigrationMailgun alternative

Migrate from Mailgun to Sendix

Swap SMTP credentials or move the Messages API call to a JSON request, rebuild Routes as inbound forwarding rules, and bring your suppression lists with you.

  • Same sending subdomain works
  • Form data → JSON
  • Routes → inbound rules
  • Suppression import
Last reviewed
smtp migration
drop-in
.envMailgun → Sendix
- SMTP_HOST=smtp.mailgun.org+ SMTP_HOST=smtp.sendix.dev- SMTP_PORT=587+ SMTP_PORT=587  # STARTTLS- SMTP_USER=[email protected]+ SMTP_USER=<username from dashboard>- SMTP_PASS=••••••••+ SMTP_PASS=<Sendix API key>
DNSSMTP / APIWebhooks
Short answer

How do I migrate from Mailgun to Sendix?

Verify your domain in Sendix, then change SMTP from smtp.mailgun.org to smtp.sendix.dev:587 with a Sendix API key, or replace POST /v3/<domain>/messages (form data) with a JSON POST to https://sendix.dev/api/v1/emails. Map webhooks (delivered → email.delivered, permanent failed → email.bounced, complained → email.complained), rebuild inbound Routes as Sendix forwarding rules or email.received webhooks, and import bounces, unsubscribes and complaints as suppressions.

Migration plan

Four steps, no big-bang cut-over.

Run Mailgun 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. Mailgun’s DKIM records can stay while both providers send.

  2. 02
    SMTP or API

    Point sending at Sendix

    SMTP users change host and credentials. API users switch from multipart form fields (from, to, subject, html, text, h:X-Header) to a JSON body; custom headers move into the headers object and o:tag values into tags.

  3. 03
    events

    Recreate your webhooks

    Create a Sendix webhook for the events you consumed from Mailgun, 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 Mailgun, add them with POST /v1/suppressions, move traffic gradually, then remove Mailgun’s SPF include.

Concept map

Mailgun → Sendix, side by side.

Where each piece of your current integration lives in Sendix.

SMTP serverMailgunsmtp.mailgun.org:587 (EU: smtp.eu.mailgun.org)Sendixsmtp.sendix.dev:587 (STARTTLS)
SMTP loginMailgunPer-domain SMTP credentialsSendixUsername from your dashboard, API key as password
Send endpointMailgunPOST https://api.mailgun.net/v3/<domain>/messagesSendixPOST https://sendix.dev/api/v1/emails (JSON)
API authenticationMailgunHTTP Basic, user "api" + API keySendixAuthorization: Bearer <API key>
TemplatesMailgunStored templates (Handlebars)SendixVersioned {{variable}} templates (template_id + template_data)
Delivered eventMailgundeliveredSendixemail.delivered
Bounce eventMailgunfailed (severity: permanent)Sendixemail.bounced
Complaint eventMailguncomplainedSendixemail.complained
Webhook securityMailgunHMAC-SHA256 over timestamp + tokenSendixX-Sendix-Signature (HMAC-SHA256)
SuppressionsMailgunBounces, unsubscribes and complaints listsSendixSuppression list API (/v1/suppressions)

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

Before you switch

What to check in your setup.

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

Inbound Routes

Enable receiving on the domain, publish the MX records Sendix shows, then use email.received webhooks or forwarding rules.

Sending subdomains

If you send from a subdomain such as mg.acme.com, you can verify the same subdomain in Sendix and keep your From addresses.

Tags and variables

o:tag values map to Sendix tags ({name, value}); v: custom variables map to template_data or tags.

Data region

Mailgun offers an EU region. Sendix does not currently offer a customer-selectable data region — check the pricing FAQ and trust center if residency matters.

FAQ

Frequently asked questions

Answers for teams moving from Mailgun.

What replaces Mailgun Routes?

Sendix inbound: enable receiving on a domain, publish the MX records shown, then consume email.received webhooks or create forwarding rules with POST /v1/emails/receiving/forwarding.

Can I run Mailgun 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