Migrate from Postmark
Moving from Postmark to Mailhuset is straightforward. The concepts map almost one-to-one. Plan for an afternoon, mostly waiting on DNS.
1. Verify your sending domain
Add your domain in Domains and publish the SPF/DKIM records, just like Postmark's signatures. See Verify a sending domain. You can run both providers in parallel during the switch.
2. Swap the API call
Postmark's send and Mailhuset's are very similar. The main differences:
| Postmark | Mailhuset |
|---|---|
POST /email with X-Postmark-Server-Token | POST /v1/email with Authorization: Bearer <key> |
From, To, Subject, HtmlBody, TextBody | from, to (array), subject, html, text |
TemplateAlias + TemplateModel | templateAlias + templateModel |
| Message Streams (transactional/broadcast) | stream (transactional / broadcast) |
POST https://api.mailhuset.com/v1/email
Authorization: Bearer $MAILHUSET_API_KEY
{ "from": "Acme <hello@yourdomain.com>", "to": ["a@example.com"],
"subject": "Hi", "html": "<p>Hello</p>" }Note to is an array, and from is a single Name <address> string. See Send email via the API.
3. Recreate templates
Re-create your Postmark templates in Templates with the same alias, so your code's templateAlias keeps working. See Templates.
4. Point webhooks at Mailhuset
Add your endpoints under Webhooks and map Postmark's events to Mailhuset's (delivered, bounced, complained, opened, clicked). See Webhooks.
5. Cut over
Run both providers briefly, confirm delivery and events in Activity, then flip 100% of traffic. Keep your domain warm. Don't move all volume in one spike.
Questions during migration? Email support@mailhuset.com.
Need help? Email support@mailhuset.com.