- Outbound send payload shape
- Sender and domain authentication
- Template handling
- Webhook and event delivery
- Suppression and unsubscribe semantics
- Marketing-list or campaign replacement
- Inbound-mail feature gaps
Migration inventory
Before you write code, inventory the sending features you use today:| Current feature | MailChannels planning question |
|---|---|
| API keys or subusers | Should each source tenant map to a MailChannels account or sub-account? |
| Sending domains | Which domains need Domain Lockdown, SPF, DKIM, and DMARC records? |
| Batch or bulk sends | Should the workflow use /send-async and webhooks? |
| Tags or metadata | Which application IDs should you preserve in headers, subjects, or webhook storage? |
| Suppressions and bounces | Which bounced or complained recipients should be migrated into your own suppression workflow? |
| Webhooks | Which existing event handlers need new MailChannels event mappings? |
Provider guides
SendGrid
Migrate SendGrid Mail Send API, templates, suppressions, webhooks, and marketing workflows.
Mailgun
Migrate Mailgun domain-scoped sending, templates, routes, suppressions, and webhooks.
Mailjet
Migrate Mailjet Send API v3.1, variables, sender domains, callbacks, and campaign workflows.
Brevo
Migrate Brevo transactional sending, SMTP templates, senders, blocklists, and campaigns.
Postmark
Migrate Postmark servers, message streams, templates, suppressions, and inbound processing.
Amazon SES
Migrate Amazon SES identities, configuration sets, templates, event destinations, and receipt rules.
Resend
Migrate Resend send requests, domains, templates, webhooks, audiences, and receiving workflows.
Common MailChannels concepts
| MailChannels concept | Migration meaning |
|---|---|
/send | Runtime API for sending transactional and personalized messages. |
/send-async | Runtime API for larger or queued non-transactional batches. |
personalizations | Recipient-specific addressing and merge data. |
dynamic_template_data | Runtime data available to Mustache-rendered message content. |
transactional | Send classification that affects suppression behavior. |
tracking_settings | Per-message click, open, and unsubscribe tracking controls. |
| DKIM | Domain authentication that requires DNS publication. |
| Domain Lockdown | MailChannels control that restricts sending for protected domains. |
| Webhooks | HTTPS event delivery for delivery and engagement events. |
| Suppression list | MailChannels recipient block list with transactional and non-transactional suppression types. |
Recommended migration sequence
- Inventory current sending domains, sender identities, templates, webhooks, suppressions, and any marketing or inbound workflows.
- Decide whether source-side tenants, servers, subusers, or configuration groups should map to one MailChannels account or to separate MailChannels sub-accounts.
- Rebuild application send code against MailChannels payloads and authentication.
- Move provider-managed templates into application code or another template store.
- Create MailChannels DKIM records and plan DNS publication.
- Recreate webhook consumers for MailChannels event payloads.
- Import or recreate suppressions with explicit transactional versus non-transactional policy.
- Replace campaign, audience, broadcast, or inbound-mail workflows outside the MailChannels Email API when the source platform provided those features.
- Run parallel test sends, validate authentication, verify webhooks, and then schedule production cutover.

