Postmark has no EU region, and says so plainly
Unlike most of the providers in this category, Postmark doesn’t offer EU data residency as a plan tier or an alternate endpoint. It hosts in the United States — its own data centre outside Chicago, plus AWS — and its position has been that the GDPR does not require personal data to be physically stored in Europe, which is true as a matter of law.
That makes this the clearest of these comparisons. There’s no configuration to argue about and no region to route around: if your requirement is that recipient data stays in the EU and is handled by an EEA-established processor, Postmark cannot meet it, and no amount of goodwill about the product changes that. Ownership points the same way — Postmark has been part of ActiveCampaign, a US company, since 2022.
What eusend puts in its place
Vague residency claims are worth very little, so here is the actual map — every component that touches an email, and where it runs.
| Sending infrastructure | Mail servers we operate ourselves, Falkenstein (Germany) |
| API hosting | Nuremberg (Germany) |
| Database & delivery events | Frankfurt (Germany) |
| Company | A Norwegian entity, inside the EEA and under the GDPR |
| Parent company | None — no US parent in the ownership chain |
| The honest caveat | The marketing site and dashboard front-end are served from a US CDN, and DNS and bot checks run through Cloudflare. Neither handles message content or recipients. The complete list is on our sub-processors page — we would rather you read it than take a slogan at face value. |
The same shape of API
Postmark and eusend agree about what a transactional email service is: an HTTP API, an SMTP door for the things that only speak SMTP, signed webhooks for delivery events, and a message log you can actually search when a customer says they never got it. The migration is mostly casing — Postmark’s PascalCase fields become camelCase, and errors arrive as values rather than exceptions.
- import { ServerClient } from 'postmark'
+ import { Eusend } from '@eusend_dev/sdk'
- const client = new ServerClient(process.env.POSTMARK_SERVER_TOKEN)
+ const client = new Eusend(process.env.EUSEND_API_KEY)
- await client.sendEmail({
- From: 'Acme <hello@acme.com>',
- To: 'user@example.com',
- Subject: 'Your receipt',
- HtmlBody: html,
- MessageStream: 'outbound',
- })
+ const { data, error } = await client.emails.send({
+ from: 'Acme <hello@acme.com>',
+ to: 'user@example.com',
+ subject: 'Your receipt',
+ html,
+ })
- Message streams have no equivalent, and mostly don’t need one. Transactional sending is the default path. Opt-in broadcasts are a separate surface with audiences and contacts rather than a stream you tag a send with.
- Webhooks are signed, not allowlisted. Where Postmark leans on basic auth or IP allowlists to protect your endpoint, every eusend webhook carries an HMAC-SHA256 signature — verify it and you’re done.
- Attachments map field for field.
Name→filename,Content→content(still base64),ContentType→content_type. Up to 20 files, 10 MB combined. - SMTP is a host swap. Point at
smtp.eusend.devon port 465 with implicit TLS, usernameeusend, API key as the password.
The field-by-field version is in the Postmark migration guide.
Price, since it usually comes up second
eusend’s free tier is 3,000 emails a month — enough that a small product may never pay — and paid plans run from €9 a month for 10,000 up to €430 for 2,000,000, with the price per thousand falling smoothly in between. Overage above your chosen volume is billed per thousand and capped at the price of the next volume up, so a busy month cannot produce a surprise larger than an upgrade.
Current numbers are always on the pricing page, which is where you should compare them rather than trusting a figure written into a comparison page months ago.
Where Postmark is still ahead
Being straight about this is more useful than a feature table that happens to end in our favour. Postmark has been doing this for well over a decade, with the sender reputation, the support organisation and the accumulated deliverability knowledge that come with that. eusend is younger and run by a small team.
What we can point at concretely is the engineering: we operate our own MTA rather than reselling another provider’s sending service, which means the SMTP conversation with the receiving server and the reason a message deferred are things we can read and act on. Hard bounces and complaints are suppressed automatically, a domain cannot send until DKIM is verified, and sustained bounce rates above 4% or complaint rates above 0.08% suspend sending without a human in the loop. The deliverability page sets out the whole model. Then test it on your own traffic — that evidence beats anything either of us writes on a page like this.
Common questions
What is the best European alternative to Postmark?
eusend is the closest match in shape: an HTTP API for transactional email, an SMTP door, signed delivery webhooks, and a searchable message log. The difference is jurisdiction — email content, recipients and delivery events are processed and stored inside the EU, on mail servers eusend operates itself in Germany, by a Norwegian company with no US parent.
Does Postmark have EU data residency?
No. Postmark hosts in the United States — its own data centre near Chicago plus AWS — and has said it does not plan to add EU servers, on the reasoning that the GDPR does not require data to be stored in Europe. That reasoning is defensible as far as it goes. It just means an EU region is not an option you can switch on if you need one.
Who owns Postmark?
Postmark is part of ActiveCampaign, a US company, which acquired it in 2022. That matters for the same reason the hosting location does: a US-incorporated processor is reachable under the US CLOUD Act for data it controls, which is the analysis an EEA-established processor removes rather than documents.
Is eusend as good as Postmark at deliverability?
Postmark has a longer track record and a deservedly strong reputation, and pretending otherwise would be silly. What eusend can say concretely is that it operates its own MTA rather than reselling another provider’s sending service, applies automatic suppression of hard bounces and complaints, requires DKIM before a domain can send, and suspends senders automatically above a 4% bounce or 0.08% complaint rate. Evaluate it on your own traffic with test keys before you commit.
How hard is it to migrate from Postmark to eusend?
Typically an afternoon, most of it waiting on DNS. The API shapes match closely — the main code difference is casing, since Postmark uses PascalCase fields and eusend uses camelCase, and that eusend returns { data, error } instead of throwing. Webhook event types map one to one, and every eusend webhook is HMAC-SHA256 signed rather than protected by basic auth or an IP allowlist.
Every account gets test keys that run the full pipeline — accepted, logged, complete webhook lifecycle — without delivering. Build the integration, confirm it behaves the way your Postmark code expects, then verify a domain and switch a key.
Create a free account