coss.com vs Postmark

Postmark is built for application email and does it well. coss.com adds contacts, audiences, per-customer sub-accounts and SMS on the same key.

Postmark keeps transactional and broadcast streams on separate infrastructure and leaves lists and campaigns to other tools. coss.com also separates the two streams, and manages the contacts, audiences and preferences marketing email needs.

Read the docs

At a glance

Postmark's side was checked on against its own pages. Prices are list prices.

Featurecoss.comPostmark
Pricing modelPer recipient, with no volume tiers to pick: $0.40 per 1,000 recipients for the first 1,000,000; $0.30 per 1,000 recipients from 1,000,001 to 10,000,000; $0.22 per 1,000 recipients beyond 10,000,000. Paid plans start at $25/month, all of it spendable on usageBasic $15/month, Pro $16.50/month, Platform $18/month, each for 10,000 emails; extra emails $1.80, $1.30 or $1.20 per 1,000
Free tierFree plan: 3,000 email recipients a month, 3,000 received emails a month and 3 inboxes; 1 sending domainDeveloper tier: 100 emails a month, without expiry
Transactional emailREST API and an SMTP relay (smtp.coss.com), batch and scheduled sends, idempotency keys, templates with versions and localesAPI and SMTP; transactional and broadcast message streams on separate IP ranges
Marketing emailContacts with custom properties, audiences, segments, topics with a hosted preference center and double opt-in, broadcasts on a separate marketing streamBroadcast streams send; list uploads, a WYSIWYG editor and campaign reporting stay outside Postmark
Receiving emailEvery environment has its own address under coss.com's inbound domain, or receive at your own domain with one MX record; an email.received webhook, content and attachments through the APIAn inbound address at inbound.postmarkapp.com or your own domain, posted to your app as JSON; on Pro and Platform
Multi-tenant sendingSub-accounts on Scale and Enterprise: each with its own domains, SES tenant, reputation, quotas and suppression list (transactional email)Servers group streams: up to 5 on Basic, 10 on Pro, unlimited on Platform (for agencies and larger teams)
Dedicated IPsAn add-on on Scale and Enterprise: Amazon SES managed dedicated IPs, warmed up automaticallyFrom $50/month per IP, for 300,000 emails a month or more, on Pro and above
Webhook securityStandard Webhooks signatures, automatic retries, test events and `coss listen` to forward events to localhostNo HMAC signatures: basic auth in the URL or an IP allowlist; retries on 5xx, 408 and 429
RetentionEvery API request, email event and webhook attempt of an environment, searchable and exportable; log drains on Scale and Enterprise45 days by default; up to 365 days on Pro and Platform, from $5/month
SDKsTypeScript, plus generated SDKs for Python, Go, Ruby, PHP, Java and .NET; Laravel, Rails and Django mail drivers; a CLI and an MCP serverTypeScript, Node.js, Python, Ruby, .NET, Java and PHP; a Rails gem, WordPress and Craft plugins, and a CLI
Other channelsSMS, Verify (one-time codes), Hooks (webhooks as a service) and Risk on the same API key and SDKEmail

Which to choose

Both are good at what they do. Here is where each one fits better.

Choose Postmark when

  • Only application email

    Postmark is built for application email and says so. If you never send newsletters, its narrow focus is a feature.

  • You need a year of history

    Postmark's Pro and Platform plans keep message activity for up to 365 days.

  • You run WordPress or Craft

    Postmark has official WordPress and Craft plugins. coss.com reaches those through its SMTP relay.

Choose coss.com when

  • Marketing email without another tool

    Contacts, audiences, segments, topics with a hosted preference center, double opt-in and broadcasts live next to your transactional email, on a separate stream with its own reputation.

  • Signed webhooks

    Every coss.com webhook is signed with Standard Webhooks headers and a per-endpoint secret you can roll, instead of credentials in the URL.

  • Receiving on every plan

    Every environment can receive email, the Free plan included (3,000 received emails a month), and inboxes give agents addresses with threads.

  • You send for your own customers

    Sub-accounts on Scale and Enterprise each get their own domains, SES tenant, reputation, quotas and suppressions.

Moving from Postmark

  1. 1

    Import your Postmark account

    The dashboard's Import page brings over templates, suppressions and webhook endpoints with a server token, and domains with an account token. Nothing changes at Postmark.

    Read the guide
  2. 2

    Verify your domains

    Add coss.com's DNS records next to Postmark's, so you keep sending through Postmark until you switch.

    Read the guide
  3. 3

    Map streams and switch your code

    Transactional streams become ordinary sends; broadcast traffic becomes the marketing stream (stream: "marketing") or broadcasts. Then update webhook handlers and enable the imported endpoints.

    Read the guide

Questions

Does coss.com separate transactional and marketing email like Postmark's streams?
Yes. coss.com sends in two streams, each with its own sending configuration and reputation, so complaints about a newsletter never hold up password resets.
Can I import my Postmark templates?
Yes. The dashboard's Import page converts Postmark templates to coss.com's template language and publishes the ones that convert exactly; the rest are kept as drafts with the parts to fix listed.
Are coss.com webhooks signed?
Yes. Every request carries Standard Webhooks headers signed with the endpoint's whsec_ secret, and the SDK's verifyWebhook checks them.
Can coss.com receive email like Postmark inbound?
Yes. Each environment has an address under coss.com's inbound domain with no DNS setup, or you can receive at your own domain with an MX record. Each message triggers an email.received webhook and stays readable through the API.

Sources

Postmark's facts were checked on ; their pages are the final word on their prices and features.

The coss.com side

Try coss.com next to Postmark.

A development key costs nothing and delivers nothing, so you can compare with real code.

Add coss.com to this project: read https://coss.com/llms.txt, get a development key with `npx coss-cli init --agents`, and build and test with it.

Pricing