Skip to main content

Core difference

Postmark is organized around servers and message streams. MailChannels is organized around account or sub-account credentials, authenticated sending domains, runtime send payloads, webhooks, and suppression types. The key migration decision is whether Postmark server and stream boundaries should become MailChannels sub-accounts, application metadata, or a simpler shared account model.

Feature mapping

Postmark conceptMailChannels conceptMigration approach
Server-scoped send API/send payloadReplace server token sends with MailChannels API key sends.
ServersAccount or sub-account boundariesPreserve server isolation only when it matters for credentials, reporting, or tenancy.
Message streamsTransactional flag and application metadataMap transactional versus broadcast intent into send classification and suppression policy.
Server templatesApplication-managed Mustache contentExport templates and move storage outside Postmark.
Sender signaturesfrom identitiesPreserve sender addresses and align them with authenticated domains.
Sender domainsDKIM and Domain LockdownRecreate DNS authentication through MailChannels.
Webhooks and legacy hook URLsMailChannels webhooksRecreate event delivery and update payload consumers.
Message-stream suppressionsMailChannels suppression listCollapse stream-scoped suppressions into account or sub-account policy.
Inbound processingNo MailChannels Email API equivalentReplace inbound processing with another receiving architecture.

Send payload notes

Postmark send calls often carry server and stream intent through the token, endpoint, or message stream field. MailChannels sends should make equivalent intent explicit in account selection, sub-account selection, send classification, and application metadata.
ConcernPostmark behaviorMailChannels behavior
AuthenticationAccount token or server tokenMailChannels API key authentication
IsolationServer boundaryAccount or sub-account boundary
Stream typeTransactional or broadcast streamstransactional send behavior and suppression policy
TemplatesServer templatesApplication-owned content plus runtime data
InboundServer inbound processing and triggersExternal receiving service

Template migration

Export templates per Postmark server and preserve the server context in the new template naming scheme when needed. Replace Postmark template aliases or IDs in application code with application-owned template references.

Suppression policy

Recommended defaults:
Postmark sourceMailChannels target
Hard bounces and spam complaintsSuppress as both transactional and non-transactional.
Broadcast-stream manual suppressionsSuppress as non-transactional unless policy requires blocking all mail.
Stream-scoped suppressionsPreserve isolation with sub-accounts only when stream boundaries are operationally important.

Inbound migration

Postmark inbound processing and inbound rule triggers do not have MailChannels Email API equivalents. Replace those flows before cutover with a dedicated inbound provider, mailbox polling, or an application webhook receiver backed by another receiving service.

Cutover checklist

  • Decide how Postmark servers map to MailChannels account boundaries.
  • Replace server-token authentication with MailChannels API keys.
  • Translate message stream intent into send classification and metadata.
  • Move templates out of Postmark.
  • Publish and validate MailChannels DKIM records.
  • Recreate webhook consumers for MailChannels events.
  • Replace inbound processing before production cutover.