Skip to content
TierGauge

Migration guide

Mailgun Postmark

Both are mature transactional-email APIs in the spine; Mailgun (owned by Sinch) is positioned around volume + deliverability tooling + dedicated-IP infrastructure, while Postmark (owned by ActiveCampaign) is positioned around the deliverability-obsession + 365-day data retention + inbound-email-parsing combo at narrower volume bands. The migration is RARELY cost-driven (Mailgun is structurally cheaper past 50k emails/month) and rarely volume-driven; it pencils when a team specifically wants Postmark's narrower deliverability focus, when 365-day retention is a compliance requirement, or when inbound email parsing is a primary use case where Postmark's separate inbound infrastructure outperforms Mailgun's. Most teams should stay on Mailgun; the bad-fit section is intentionally substantive.

Published · By the TierGauge editorial team

Leaving

Mailgun
Starting price
Free
Free plan
Yes
Plans
5
Category
Transactional email

Moving to

Postmark
Starting price
Free
Free plan
Yes
Plans
5
Category
Transactional email

When this migration makes sense

  • Deliverability is the load-bearing constraint and you want the gold-standard track record. Postmark's 10-year inbox-placement reputation is the canonical reference in the category. Mailgun's deliverability is solid but the brand-recognition gap at compliance-review time is real.
  • You need 365-day data retention for compliance or audit. Postmark Pro and Platform offer customizable retention up to 365 days; Mailgun Scale tops out at 30 days. If your incident-response or audit-export process needs older logs, this is structural.
  • Inbound email parsing is a primary use case. Postmark runs separate inbound and outbound infrastructure with mature route-handling; Mailgun has inbound but the Postmark architecture is more battle-tested for production-scale inbound flows.
  • Your volume is 10,000 emails/month or below where Postmark Basic at $15/mo (no overage to 10k) is cost-comparable to Mailgun Basic at $15/mo (also no overage to 10k). At this volume the cost is equivalent and Postmark's deliverability + retention upgrade is free of cost penalty.
  • You depend on detailed bounce categorization (hard / soft / transient with specific error codes). Postmark's bounce-classification is more granular than Mailgun's; if your retention-churn or list-hygiene logic depends on bounce-code precision, the migration is a feature upgrade.
  • You don't depend on SAML SSO on a self-serve plan. Mailgun Scale at $90/mo includes SAML; Postmark gates SSO behind custom contracting on the High-Volume tier. If SSO isn't required, the loss isn't real for you.

When it doesn't

  • Your volume is past 50,000 emails/month. Mailgun Foundation at $35/mo (50k included, $1.30/1k overage) is meaningfully cheaper than Postmark's tier ladder where you'd ladder up the Basic / Pro / Platform sequence and hit per-1,000 overages on a smaller included volume. The cost reverses past 12k emails/month and the gap widens as volume grows.
  • You depend on SAML SSO on a self-serve plan. Mailgun Scale at $90/mo includes SAML; Postmark requires custom contracting on the High-Volume tier. For security-org-required SSO, the migration loses a capability.
  • You need send-time optimization. Mailgun Scale ships send-time-optimization (auto-schedule sends per recipient timezone and engagement); Postmark doesn't ship an equivalent feature.
  • Your team uses Mailgun's IP-warmup tooling and dedicated-IP infrastructure. Mailgun's deliverability-tooling depth (warmup automation, IP monitoring, allocation flexibility) is more mature than Postmark's; high-volume senders who actively manage IP reputation prefer Mailgun.
  • You're a high-volume sender (1M+ emails/month) with negotiated dedicated-IP bundles and account management. Mailgun's Sinch parent has more mature high-volume infrastructure and contracting depth than Postmark.
  • You depend on Mailgun's route-pattern engine for inbound routing with complex match expressions (catch_all, match_recipient regex, store-and-forward semantics). Postmark's inbound routing is solid but the route-pattern flexibility differs.

What you lose by leaving Mailgun

  • Mailgun's volume cost advantage at 50k+ emails/month. Foundation $35 vs Postmark's per-1,000 overage curve up the tier ladder.
  • Send-time optimization on Scale tier (auto-schedule per recipient timezone and engagement pattern).
  • SAML SSO on a self-serve plan. Mailgun Scale at $90/mo includes SAML; Postmark gates SSO to High-Volume custom.
  • Mailgun's deliverability tooling depth (IP-warmup automation, monitoring, allocation flexibility) for high-volume IP-reputation management.
  • Domain-scoped SMTP credentials and API keys. The per-domain isolation Mailgun ships is genuinely useful for multi-product accounts.
  • Mailgun's route-pattern engine flexibility for complex inbound routing (regex match-recipient, store-and-forward, catch-all semantics).
  • Sinch parent infrastructure depth for high-volume Enterprise contracting (1M+ emails/month).

What you gain with Postmark

  • Postmark's 10-year deliverability reputation and the canonical-reference brand recognition that comes with it.
  • Customizable 365-day data retention on Pro and Platform tiers. Mailgun Scale tops out at 30 days; the gap matters for compliance / audit / incident-response use cases.
  • Granular bounce categorization (hard / soft / transient with specific codes). More precise than Mailgun's bounce-classification for retention-churn or list-hygiene logic.
  • Separate inbound and outbound infrastructure. Postmark's architectural separation means inbound traffic spikes don't compete with outbound throughput; matters at production-scale inbound flows.
  • Cleaner JSON-based API surface. Postmark's REST API and SDKs feel more modern than Mailgun's domain-scoped form-encoded endpoints.
  • Inbound email parsing depth. Postmark's inbound parser handles MIME edge cases more cleanly than Mailgun's at production scale.
  • Owned by ActiveCampaign since 2022 but operated as a separate product; some buyers prefer the ActiveCampaign-stack alignment over Mailgun's Sinch parent for go-to-market integration.

Plan mapping at the entry paid tier

The lowest non-free, non-custom tier on each side. Use this for the "if I'm on $X with Mailgun, what's the equivalent on Postmark?" gut check.

Limit Mailgun (Basic) Postmark (Basic)
Emails / month 10,000 10,000

Step-by-step migration

  1. 01

    Export your list from Mailgun

    Pull a fresh CSV of every active subscriber. Capture the fields you actually use downstream: email is required, name is standard, signup date and tier (free/paid) are useful when Mailgun provides them.

  2. 02

    Provision Postmark

    Sign up, set sender identity, and verify your sending domain (DKIM, SPF, DMARC). Do this before importing the list; sending from an unverified domain is the single fastest way to land in spam at the moment of cutover.

  3. 03

    Import the list and map fields

    Upload the CSV. Map email + name + any custom fields. Decide whether to import as one list or split into segments/tags. Mailgun-style organization rarely maps 1:1, so plan the split before the upload, not after.

  4. 04

    Rebuild automations and templates

    Postmark's automation builder is structurally similar but won't import Mailgun's flows directly. Rebuild only what you actively use; the move is a chance to delete the unused ones rather than lift-and-shift dead infrastructure.

  5. 05

    Send a test broadcast

    Pick a small segment and send a real broadcast (not just a preview). Verify deliverability, link clicks, and unsubscribe flow. If anything's off, you find it before the announcement, not after.

  6. 06

    Announce the move and cut over

    Send your last broadcast from Mailgun announcing the new sender domain and what to expect. Cut over DNS and sending from Postmark on the same day, not staggered. A dual-send week creates more confusion than it prevents.

Mailgun-to-Postmark specific gotchas

Universal steps cover most of the work. These are the failure modes unique to this exact pair.

  • #1

    API surface differences: Mailgun uses domain-scoped endpoints (POST /v3/{domain}/messages) with HTTP Basic auth and form-encoded payloads; Postmark uses POST /email with X-Postmark-Server-Token header auth and JSON. The send-payload field naming differs (Mailgun's from / to / subject / html / text vs Postmark's From / To / Subject / HtmlBody / TextBody). Full SDK swap or rewrite client code; don't pattern-match.

  • #2

    Template migration: if your templates live in Mailgun's template builder, the migration is a real engineering project. Postmark uses TemplateAlias + TemplateModel for server-side rendering. Either re-author each template using Postmark's template format, or render templates server-side and POST raw HTML to Postmark.

  • #3

    Webhook payload divergence: Mailgun's webhook events (delivered / opened / clicked / unsubscribed / complained / failed / accepted / rejected) have specific JSON shapes with event-data envelope wrappers. Postmark's webhooks (Bounce / Delivery / Open / Click / SpamComplaint / SubscriptionChange) have different field names and structures. Rewrite your webhook handlers; don't try to translate field-by-field.

  • #4

    Inbound routing rebuild: Mailgun routes can have complex match expressions (catch_all, match_recipient regex, store-and-forward semantics). Postmark's inbound routing uses inbound-server-with-stream and forwards to your webhook. Plan a careful inventory of every existing Mailgun route; test each Postmark equivalent in staging before flipping inbound DNS.

  • #5

    SMTP credential model: Mailgun's SMTP credentials are domain-scoped (separate username/password per verified domain). Postmark's SMTP uses Server-Token-based auth at the server level. If your application stack has per-domain SMTP credentials hardcoded, the auth model needs to change.

  • #6

    DNS staggering: both use SPF and DKIM but the DNS records are vendor-specific (Mailgun issues mailgun.org-related TXT records; Postmark issues pm._domainkey selectors). Add Postmark's records alongside Mailgun's, verify Postmark, warm Postmark's sender for 7 to 14 days on a percentage of traffic before flipping the API key. Don't hard-cut a production sender.

Compare on price across the category

This guide is Mailgun to Postmark specifically. To see both side by side with every other transactional email tool we track on a single price-only table, see the transactional email pricing comparison . Useful before committing to the migration, in case a third option fits the cost-and-feature combination better than either side of this guide.

Common questions

Is Postmark cheaper than Mailgun?
Both start at the same headline price (Free). The reason to migrate is the pricing model and feature scope, not the entry-tier number.
Will my data transfer cleanly?
Most transactional email data transfers, but rarely 1:1. The "Pair-specific gotchas" section above is hand-curated for this exact migration: it covers what exports from Mailgun, how it imports into Postmark, and which structural pieces (workflows, integrations, custom domains) require rebuild rather than direct port. The constraint usually isn't the data export; it's the rebuild work for anything Postmark models differently.
How long does the migration take?
A clean migration for this pair is typically 1-2 weeks of focused work: data export, integration reconnection (CRMs, webhooks, payment processors), feature rebuild for whatever doesn't port directly, test run, cutover. The constraint is rarely the export itself; it's the integration reconnection and the rebuild work for any feature that Postmark models differently from Mailgun.
Are Mailgun and Postmark direct competitors?
Yes. Both are primarily transactional email tools, which is why this is a defensible head-to-head migration rather than a cross-category consolidation.
Where can I see Mailgun vs Postmark side-by-side?
The /compare/mailgun-vs-postmark page on TierGauge shows side-by-side plans, headline pricing, included features, and limit comparison at the entry paid tier. This migration guide is the long-form decision narrative; the compare page is the data-only dashboard.

Sources

Pricing verified . Migration mechanics are based on the public pricing pages and standard ESP migration patterns; verify destructive steps (DNS cutover, paid subscription transfer) against the vendor's current docs before executing.