← Comparisons

Postmark vs Amazon SES: what a five- to nine-times price gap pays for

At 50,000 emails a month Postmark Basic costs $55 and Amazon SES Essentials costs $8.00. At 300,000 the figures are $245 and $48. Postmark's price buys a managed sender with message streams, templates, 45-day activity retention and inbound processing on its upper plans. SES's price buys delivery and leaves everything else, from event handling to the bounce list, for you to assemble from AWS parts or your own code.

By Julian Pryor · Updated 7 Oct 2026

Short answer

Choose Postmark if you want transactional email running this week, with a flat monthly price and a plan page that shows what is included, and your volume is under about 125,000 emails a month where the absolute gap stays under $100. Choose SES once your volume or your AWS footprint makes the $197 monthly gap at 300,000 emails worth an engineer's time, and you accept the sandbox, the event plumbing and the bounce handling.

Four volumes, both vendors

Postmark's figures are its volume slider stops, read on 7 October 2026 for the Basic, Pro and Platform plans. SES's are the published per-1,000 rates multiplied out, on both its Essentials plan and its à-la-carte list.

Emails per monthPostmark Basic / Pro / PlatformSES Essentials ($0.16 per 1,000)SES à la carte ($0.10 per 1,000)Basic minus Essentials
10,000$15 / $16.50 / $18$1.60$1.00$13.40
50,000$55 / $60.50 / $66$8.00$5.00$47.00
125,000$115 / $126.50 / $138$20.00$12.50$95.00
300,000$245 / $269.50 / $294$48.00$30.00$197.00

Over a year, the 50,000-email gap between Postmark Basic and SES Essentials is $47 times twelve, or $564. At 300,000 it is $197 times twelve, or $2,364. Postmark's overage rates are $1.80, $1.30 and $1.20 per 1,000 extra emails on Basic, Pro and Platform, so a month that overshoots 50,000 by 10,000 on Pro costs $13 more ($1.30 times ten). The SES Pro plan adds $105 per account per region per month at $0.22 per 1,000, so at 300,000 emails it comes to $105 plus $66, or $171, which is still $98.50 below Postmark Pro's $269.50. AWS also charges $0.12 per GB of attachments sent.

Postmark pricing page, captured Oct 2026
Postmark pricing page as of 7 Oct 2026 with the slider at 10,000 emails: Free $0, Basic $15, Pro $16.50, Platform $18 and each plan's overage rate. Source: postmarkapp.com/pricing
Amazon SES pricing page, captured Oct 2026
Amazon SES pricing page as of 7 Oct 2026: the Essentials, Pro and Enterprise rate table and the per-account monthly fee for Pro and Enterprise. Source: aws.amazon.com/ses/pricing

What each plan page tells you about the product

ItemPostmarkAmazon SES
Free tier100 emails a month, no overages allowedUp to $200 in credits for eligible new AWS customers; the free plan runs 6 months after account creation
Activity retention45 days; customizable up to 365 days on Pro and Platform, and a custom retention add-on from $5 a monthNone built in; you store the events you publish
Sending domains5 on Basic, 10 on Pro, unlimited on PlatformVerified identities per account and region
Inbound emailInbound processing listed on Pro and PlatformMail Manager inbound processing, charged per email
Dedicated IPFrom $50 a month per IP; 300,000+ emails a month; Pro or higher$24.95 a month per standard IP, à la carte
ExtrasDMARC monitoring from $14 a month per domainVirtual Deliverability Manager insights; the global view is an add-on on Essentials

At 300,000 emails with one dedicated IP, Postmark comes to Pro at $269.50 plus $50, or $319.50. On SES's à-la-carte list the same month is $30.00 of sending plus $24.95, or $54.95, which is a difference of $264.55 a month.

Events, retries and verification

Postmark's webhook types are Delivery, Bounce, Spam complaint, Open tracking, Click, Subscription change and Inbound. It retries outbound webhooks on 500 to 599 responses, 408, 429 and network failures: six attempts spaced 1, 5, 10, 10, 10 and 15 minutes apart, after which the event is abandoned, and other 4xx responses are dropped immediately. An event type that keeps failing is paused until you fix the endpoint and verify it again. It does not sign requests: the docs say it does not currently support HMAC verification and advise basic authentication in the URL, an IP allowlist and HTTPS. For a handler that updates billing state or suppresses addresses, that is a real design constraint, and you should validate payload shape and use the MessageID plus the trace header as an idempotency key.

SES has no webhook of its own to secure. You create a configuration set, attach an event destination (SNS, EventBridge, CloudWatch, Firehose or Pinpoint) and choose events: send, delivery, bounce, complaint, reject, rendering failure, delivery delay, subscription, open and click. Message tags you set per email, plus automatic ones such as the configuration set and sending IP, let you split metrics by type. The trade is that every consumer of those events is yours to build, and AWS says you must have a system for managing bounces and complaints.

Sending the SaaS emails themselves

Postmark's send API takes a JSON POST to /email with a server token, a template route using a TemplateAlias and TemplateModel, and a batch endpoint of up to 500 messages in one call (50 MB total). Recipients across To, Cc and Bcc are capped at 50, bodies at 5 MB each and messages at 10 MB. Each send returns a MessageID, which you store against the user so a bounce webhook can be matched to a subscription. Transactional and broadcast mail separate by message stream, with a default transactional stream. For a Stripe handler, the shape is one template per event: receipt on invoice.paid, card-update on invoice.payment_failed, reminder on customer.subscription.trial_will_end.

On SES you do the same through the SES API, SMTP or an AWS SDK, optionally with stored templates, and a rendering-failure event tells you when template data did not match. The sandbox matters on day one: 200 messages per 24 hours, 1 per second and verified recipients only until AWS approves the production request, which it answers within 24 hours.

Moving from Postmark to SES

  1. Verify the domain in SES, set up the configuration set and event destination, and request production access before you need volume.
  2. Rebuild the event handler: Postmark's single webhook becomes an SES event consumer, and the idempotency key changes from the MessageID plus trace header to the SES message id.
  3. Port templates and send one low-risk message type through SES while the rest stays on Postmark, and compare bounce and complaint rates for a week.
  4. Move the dunning and receipt emails last, and keep Postmark's domain records until a full billing cycle has run on SES.

Which to choose

  • Postmark Basic or Pro up to 125,000 emails, when a team without a platform engineer needs the sender to work out of the box.
  • Postmark Platform for unlimited sending domains across several products, at $18 to $138 on the slider stops here.
  • Amazon SES Essentials from 125,000 emails, or earlier on AWS, where the $95 monthly gap at that volume pays for the plumbing.
  • Neither alone for marketing email: both are transactional senders, so pair either with a lifecycle tool for newsletters and onboarding series.

Related reading: Resend vs Postmark, SendGrid vs Postmark, Postmark vs Mailgun, Mailgun vs Amazon SES, Resend vs Amazon SES and the comparison index.

Postmark vs Amazon SES: common questions

How much more does Postmark cost than Amazon SES?

On the entry plan, Postmark Basic costs 9.4 times SES Essentials at 10,000 emails ($15 against $1.60), 6.9 times at 50,000 ($55 against $8.00), 5.8 times at 125,000 ($115 against $20.00) and 5.1 times at 300,000 ($245 against $48.00). At 300,000 emails the monthly gap is $197, which is $2,364 a year.

Does Postmark sign its webhooks?

No. Postmark's webhook documentation says it does not currently support HMAC signature verification. It suggests HTTPS, basic authentication embedded in the webhook URL and an IP allowlist of its published webhook ranges, and it adds an X-PM-Retries-Remaining header and a trace-id header you can use to deduplicate.

When can I get a dedicated IP on each?

Postmark sells managed dedicated IPs from $50 a month per IP, only to customers sending 300,000 emails or more a month, and only on Pro plans or higher. SES lists a standard dedicated IP at $24.95 a month per IP on its à-la-carte price list.

What blocks a brand-new SES account?

The sandbox. A new account can send only to verified addresses and domains, 200 messages per 24 hours and one message per second until you request production access; AWS says it responds within 24 hours. You also need a process for bounces and complaints before it will approve you.