Comparison

Sovereign Mail vs Postmark

An honest comparison. Both send transactional email well; the real difference is UK sovereignty and privacy versus Postmark's proven deliverability track record and maturity.

  Sovereign Mail Postmark
UK-owned & UK-hosted ✓ Yes No (US)
Outside US CLOUD Act ✓ Yes No
No open/click tracking (privacy) ✓ Never tracks/rewrites links Tracks opens & clicks
Pay by UK bank transfer / invoice ✓ Yes Card only
Public-sector path (DSPT/DTAC, G-Cloud) ✓ Yes —
Entry price ✓ Free tier; undercuts on volume From $15/mo
Proven deliverability track record New — warming dedicated UK IPs ✓ 12+ years, established
Inbound email processing Not yet ✓ Yes
Analytics dashboards Message activity + DMARC ✓ Rich, mature
Templates Variables, conditionals, layouts ✓ Layouts, versioning, editor
REST API + batch send Yes Yes
SMTP sending Not yet (REST API only) ✓ Yes

Choose Sovereign Mail if…

you need UK data sovereignty (NHS, government, regulated business), want no recipient tracking, prefer UK bank transfer/invoicing, or want a lower price.

Choose Postmark if…

you need a long, proven deliverability track record today, inbound email parsing, or the most mature analytics — and US data jurisdiction isn't a concern for you.

Switching from Postmark is quick

The APIs are close cousins, so for most apps the code change takes under an hour. Your DNS can serve both providers at once, so there's no cut-over day: move traffic across when you're ready.

  1. Create an account and add your sending domain. Publish the DNS records we show you. They sit alongside Postmark's (each provider signs with its own DKIM key), so both keep working during the switch. If your domain already has an SPF record, add our include: to it rather than creating a second one.
  2. Swap the API call. Same shape, different names:
    PostmarkSovereign Mail
    POST https://api.postmarkapp.com/emailPOST /api/v1/email
    X-Postmark-Server-Token: …Authorization: Bearer smk_live_…
    Fromfrom — a bare address (no "Name <…>" yet)
    To — up to 50, comma-separatedto — one address; use batch for several
    Subject · TextBody · HtmlBodysubject · text · html
    /email/withTemplate — TemplateId + TemplateModel/email — templateId + variables (string values)
    /email/batch — an array, up to 500/email/batch — { "messages": [ … ] }, up to 500
    MessageStreamNot needed — transactional only
    TrackOpens · TrackLinksNot available — we never track recipients
    Bounce & spam-complaint webhooksApplied automatically: the address is suppressed

    Before · Postmark

    curl https://api.postmarkapp.com/email \
      -H "X-Postmark-Server-Token: $POSTMARK_TOKEN" \
      -H "Content-Type: application/json" \
      -d '{"From":"noreply@example.co.uk","To":"user@example.org",
           "Subject":"Reset your password","TextBody":"…","MessageStream":"outbound"}'

    After · Sovereign Mail

    curl https://sovmail.co.uk/api/v1/email \
      -H "Authorization: Bearer $SOVMAIL_API_KEY" \
      -H "Content-Type: application/json" \
      -d '{"from":"noreply@example.co.uk","to":"user@example.org",
           "subject":"Reset your password","text":"…"}'
  3. Test without sending anything. Use a test key (smk_test_…): every request is checked and recorded exactly as live, but nothing is delivered and nothing counts against your plan.
  4. Switch over. Put the new path behind a config switch, send a share of your traffic, then all of it. Keep Postmark for a week as a fallback.

Or let your AI assistant do it

Paste this into Claude, ChatGPT, Gemini, Copilot or Cursor in your project. It points the assistant at our machine-readable guide, so it uses the real API instead of guessing.

Switch this codebase's transactional email from Postmark to Sovereign Mail. Find every place it sends email first. Read https://sovmail.co.uk/llms-full.txt and follow its contract exactly. The API key is in SOVMAIL_API_KEY and the from-address in SOVMAIL_FROM. Keep the old provider working behind a config switch until I've checked the new path. Tell me about anything the code relies on that Sovereign Mail doesn't support (several recipients in one message, cc/bcc, reply-to, attachments, display names, open/click tracking) instead of silently dropping it. Show me a diff before changing anything.

What works differently

Moving from somewhere else? Switching guides for Mailgun, MailerSend, Mailjet, SMTP2GO, SendGrid, Amazon SES and Resend.

Frequently asked questions

Is Sovereign Mail a drop-in Postmark alternative?

For transactional sending over a REST API, yes — including templates, batch send, delivery webhooks and an automatic suppression list. It does not yet offer SMTP sending or inbound email parsing, and its deliverability reputation is newer.

Why is Sovereign Mail cheaper?

Raw sending is inexpensive; Postmark's premium reflects its deliverability track record and maturity. We compete on UK sovereignty, privacy and price while we build that reputation.

Is Postmark not UK-compliant?

Postmark is a US company, so data it processes can fall under the US CLOUD Act regardless of region. For UK public sector and sovereignty-sensitive buyers that is the deciding factor.

Try the UK-sovereign option

Free tier, no card required. UK-owned, UK-hosted.

Create an account