Core difference
Mailgun is strongly domain-centric. Sending, tracking, templates, webhooks, suppressions, and routes are often configured per domain. MailChannels is centered on governing many downstream senders through account and sub-account credentials, JSON send payloads, DKIM authentication, Domain Lockdown, per-message tracking settings, webhooks, and account or sub-account suppression policy.Feature mapping
Send payload notes
Mailgun send calls commonly use multipart form fields. MailChannels expects JSON. Build a translation layer around the application-level message model rather than copying request fields directly.Template migration
Mailgun templates can exist at account or domain scope. MailChannels does not provide the same stored-template control plane, so templates should move into application code or an external template store. If a Mailgun template has domain-specific variants, preserve those variants explicitly in the new template naming or configuration model.Suppression policy
Recommended defaults:Inbound migration
Mailgun inbound routes do not map to MailChannels Email API resources. Inventory routes early and replace them with a dedicated inbound mail service, application mailbox processing, or another webhook-based receiving architecture.Cutover checklist
- Replace Mailgun form-data send calls with MailChannels JSON requests.
- Move domain-specific tracking defaults into application send settings.
- Export and relocate templates.
- Create and publish MailChannels DKIM records.
- Recreate webhook consumers for MailChannels events.
- Decide whether Mailgun subaccounts or domains need MailChannels sub-account isolation.
- Replace inbound routes before changing production MX or routing behavior.

