10 Best Transactional Email Providers for SaaS in 2026

10 transactional email providers compared on verified November 2026 pricing at 10k to 1M emails: Resend, Postmark, Amazon SES, PostShiba, SendGrid and more.

Resend is the best transactional email provider for most TypeScript SaaS apps in 2026: $20/month for 50,000 emails, an official Node.js SDK that renders React Email, SMTP for Supabase Auth, and an HTTP API that also runs on Cloudflare Workers. Pick Amazon SES when cost matters most ($10 for 100,000 emails at its à la carte rate) and Postmark when you want transactional-only infrastructure with up to 365 days of message history. Prices below were checked on each provider's own pricing page on 6 November 2026.

Best transactional email provider by use case:

Use casePickWhy
Best overall for TypeScript SaaSResend$20/month for 50k emails, React Email in the Node SDK, HTTP API and SMTP
Best free tierResend3,000 emails/month (100/day), 3 domains, no branding footer and no contact cap (Loops allows 4,000 sends but adds a footer and caps contacts at 1,000)
Cheapest per emailAmazon SES$0.10 per 1,000 à la carte, $100 for 1M emails; PostShiba's flat $49 plan is cheaper if your peak fits it
Best for Cloudflare WorkersResend today, Cloudflare Email Service once it leaves betaBoth send over HTTP; SMTP libraries need TCP sockets
Best for message history and stream separationPostmark45-day history by default, up to 365 days on Pro and Platform
Cheaper alternative to Postmark and MailgunMailerSend$68 for 100k and $600 for 1M, versus $115/$775 on Postmark
Product and marketing email in one toolLoopsUnlimited transactional sends on paid plans, priced by contacts
Fixed monthly bill, sending from customers' domainsPostShiba (beta)$15/month for up to 24,000 emails per 24 hours, no overage, per-customer tenants
Best open sourceuseSendAGPL-3.0, self-hostable on top of your own SES account
Hard to recommend for new projectsSendGridFree plan retired in May 2025, 3-day activity history on Essentials

Last updated: 6 November 2026. Disclosure: MakerKit sells SaaS starter kits that ship Nodemailer (SMTP) and Resend mailers. Paid placements on this page are labelled "Sponsored". Sponsors don't influence rankings, scores or verdicts, and no provider paid for its position in the list.

Transactional email is the one-to-one email your application sends in response to something a user did: sign-up verification, password resets, magic links, team invitations, receipts and alerts. It's sent through an API or SMTP relay, and unlike marketing email, users expect it within seconds and can't unsubscribe from it.

If you build on a MakerKit SaaS kit, every web kit (Next.js, TanStack Start, React Router) ships Nodemailer (any SMTP provider) and Resend (HTTP API) behind one MAILER_PROVIDER variable, so any provider on this list with SMTP works without code changes, and HTTP-only APIs plug in as a custom mailer.

How We Evaluated

We read each provider's pricing page, documentation and changelog on 6 November 2026, and computed the monthly cost of sending 10,000, 50,000, 100,000 and 1,000,000 transactional emails on monthly billing with overage enabled. We compared free tiers, HTTP API and SMTP support, the official TypeScript SDK, whether the provider works from edge runtimes, message history retention, and the volume at which a dedicated IP becomes available.

We did not run inbox-placement tests, so this guide doesn't rank providers by deliverability and doesn't repeat their deliverability claims as fact. Every price links to the page it came from.

Two Traps That Break Email in a Real SaaS

Most transactional email failures in a new SaaS come from the setup around the provider, not from the provider. Two cause most of the "emails aren't arriving" reports.

Trap 1: Supabase Auth's built-in email sender. If you use Supabase Auth, your app has two email systems. Supabase sends auth emails (verification, password reset, magic links) through the SMTP settings in the Supabase dashboard. Your app sends everything else (team invites, account deletion, OTP codes) through its own mailer. The built-in Supabase sender allows 2 emails per hour, delivers only to addresses on your project's team, and is "not meant for production use" according to Supabase. Configure custom SMTP in the dashboard before launch. Custom SMTP starts at 30 auth emails per hour, and you can raise that limit in the rate limits settings. Supabase's docs name Resend, Amazon SES, Postmark, SendGrid, ZeptoMail and Brevo as example SMTP providers.

Trap 2: SMTP on Cloudflare Workers. Nodemailer depends on Node.js TCP socket APIs, so MakerKit's Cloudflare deployment guide tells you to switch to Resend's HTTP mailer (MAILER_PROVIDER=resend) before deploying to Workers. The safe rule for Workers: send through an HTTP email API such as Resend's, or Cloudflare's own Email Service binding. See our Next.js hosting guide for the other Cloudflare dependency swaps.

MakerKit's Better Auth kits (Drizzle and Prisma) don't split email the way Supabase does: they ship 14 React Email templates, and every auth email (magic links, verification, password reset, OTP codes) goes through the kit mailer, so one provider and one set of credentials covers everything. The email inventory lists them.

Price Comparison (November 2026)

ProviderFree tier10k/mo50k/mo100k/mo1M/mo
Resend3,000/mo, 100/day$20$20$35$650
Postmark (Basic)100/mo$15$55$115$775 (1.5M tier)
Amazon SES (à la carte)None for new accounts$1$5$10$100
MailerSend (Starter/Hobby)500/mo$14.50$35$68$600
Mailgun100/day$15$35$75$700
SendGrid60-day trial, 100/day$19.95$19.95$34.95$799 (1.5M tier)
Cloudflare Email Service3,000/mo on Workers Paid$2.45$16.45$33.95$348.95
PostShiba (beta)7-day trial$5-15$15$15$49
useSend (cloud)3,000/mo, 100/day$10$20$40$400
Loops4,000 sends/30 days$49 flat up to 5,000 contacts

Monthly billing, transactional sends only, cheapest tier that covers the volume. Amazon SES at its à la carte rate; its default Essentials plan costs $0.16 per 1,000. Cloudflare's figures exclude the Workers Paid subscription. Loops prices by subscribed contacts, not by sends. PostShiba prices by peak capacity: the figures assume sends spread evenly (Micro allows 24,000 per 24 hours), so a bursty app needs a bigger cluster. Verified 6 November 2026 against each provider's pricing page, linked in its section below.

At 100,000 emails a month, Resend, SendGrid and Cloudflare Email Service all cost about $35, so price only separates providers at the low and high ends. At 1M, SES costs $100 at its à la carte rate, about a sixth of Resend ($650). PostShiba's flat Small plan ($49) is cheaper still if your sending stays under 40,000 an hour, because it prices peak capacity instead of volume. Postmark is the most expensive at 50k and 100k. Older articles that cite an SES free tier are out of date: new SES accounts lost the 3,000-message free tier on 21 July 2026.

The Providers

1. Resend: Best Overall for TypeScript SaaS

What it is. Resend is an email API built by the team behind React Email. It offers an HTTP API, SMTP, an official Node.js SDK, inbound email, webhooks, batch sends of up to 100 emails, and idempotency keys.

Pricing. Free covers 3,000 emails/month with a 100/day cap, 3 domains and 30 days of history. Pro costs $20/month for 50,000 emails or $35 for 100,000, with overage at $0.90 per 1,000 once you enable pay-as-you-go. Scale starts at $90/month for 100,000 and reaches $650 for 1M. Marketing email is a separate plan billed by contacts ($40/month for 5,000). Verified 6 November 2026 against resend.com/pricing.

Strengths.

  • React Email templates render directly through the SDK's react option
  • Generous free tier: 3,000/month and 3 domains since August 2026
  • HTTP API works from Node.js, serverless and edge runtimes
  • Documented Supabase SMTP setup

Weaknesses.

  • 30-day history on every self-serve plan, including Scale
  • Default rate limit of 10 requests per second per team, the same on every plan
  • Dedicated IPs ($30/month) only on Scale, and only above 3,000 emails per day
  • No SMTP server logs, and no annual billing on self-serve plans

Best for. TypeScript SaaS teams that write their templates in React Email and want one provider for auth email, app email and, later, broadcasts.

Next.js integration notes. npm install resend. The SDK's react option is Node.js only, so on Cloudflare Workers render the template to HTML first and pass html. In a MakerKit kit:

# apps/web/.env
MAILER_PROVIDER=resend
RESEND_API_KEY=re_your-api-key
EMAIL_SENDER=YourApp <hello@yourapp.com>

For Supabase Auth, enter smtp.resend.com, port 465, user resend and your API key as the password in the dashboard's SMTP settings.

2. Postmark: Best for Message History and Stream Separation

What it is. Postmark is a transactional-first email service that keeps transactional and broadcast email on separate sending infrastructure through "message streams."

Pricing. The Developer plan is free for 100 emails/month and never expires. Basic is $15/month for 10,000 emails ($1.80 per extra 1,000), $55 for 50,000 and $775 at the 1.5M tier. Pro ($16.50) and Platform ($18) add features at a slightly higher price and lower overage. Postmark cut its Pro and Platform entry prices in August 2025 (Pro at 10k went from $60.50 to $16.50). Broadcast email has no extra fee. Dedicated IPs start at $50/month per IP for senders of 300,000+ emails/month on Pro or higher. Verified 6 November 2026 against postmarkapp.com/pricing.

Strengths.

  • 45-day message history on every plan, customisable up to 365 days on Pro and Platform
  • Transactional and broadcast streams run on separate infrastructure
  • Batch API of up to 500 messages per call
  • Detailed webhooks: delivery, bounce, spam complaint, open, click, inbound

Weaknesses.

  • Most expensive provider here at 50k and 100k emails ($115 for 100k versus $35 for Resend)
  • New accounts need approval before sending to addresses outside your verified domains
  • Inbound processing isn't on the Basic plan
  • Free plan is 100 emails/month, enough for testing only

Best for. SaaS teams whose support desk needs to answer "did the invoice email arrive?" months later, and teams that want broadcast mail kept off their transactional infrastructure.

Next.js integration notes. The official npm package is postmark. With a MakerKit kit you can skip the SDK and use Nodemailer: set MAILER_PROVIDER=nodemailer, EMAIL_HOST=smtp.postmarkapp.com, EMAIL_PORT=587, EMAIL_TLS=false, and your server's SMTP credentials in EMAIL_USER and EMAIL_PASSWORD. Apply for account approval in your first week, not your launch week.

3. Amazon SES: Cheapest at Scale

What it is. Amazon Simple Email Service is AWS's sending infrastructure: API, SMTP and the AWS SDK, with events delivered to SNS, EventBridge, CloudWatch or Firehose rather than HTTP webhooks.

Pricing. SES introduced pricing plans on 21 July 2026. New accounts start on Essentials at $0.16 per 1,000 emails with no monthly fee, which bundles features such as Virtual Deliverability Manager. You can switch to à la carte at $0.10 per 1,000 at any time: $1 for 10k, $10 for 100k, $100 for 1M. Pro is $105/month plus $0.22 per 1,000, and Enterprise $500/month plus $0.23 per 1,000. The SES-specific free tier of 3,000 messages a month is gone for new customers; new AWS accounts get a 6-month free plan with up to $200 in AWS credits instead. Attachments cost $0.12 per GB, and a standard dedicated IP is $24.95/month. Verified 6 November 2026 against aws.amazon.com/ses/pricing and the July 2026 announcement.

Strengths.

  • Lowest price per email by a wide margin at every volume
  • Sends transactional and marketing email on the same account
  • Dedicated IPs on any plan, from $24.95/month
  • Fits teams already on AWS with IAM, SNS and CloudWatch

Weaknesses.

  • New accounts start in a sandbox: verified recipients only, 200 messages per 24 hours, 1 per second. AWS promises a first response to production-access requests within 96 hours.
  • No hosted message log unless you use Virtual Deliverability Manager (30 days; included in plans, $0.07 per 1,000 on à la carte)
  • Events need AWS plumbing (SNS or EventBridge) instead of a webhook URL
  • AWS reviews accounts with a bounce rate of 5% or a complaint rate of 0.1%

Best for. Products sending 100k+ emails a month where the email bill is a line item, and teams already running on AWS.

Next.js integration notes. Use @aws-sdk/client-sesv2 for the API, or SMTP through Nodemailer in a MakerKit kit:

# apps/web/.env
MAILER_PROVIDER=nodemailer
EMAIL_HOST=email-smtp.us-east-1.amazonaws.com
EMAIL_PORT=587
EMAIL_TLS=false # 587 uses STARTTLS; set true only for port 465
EMAIL_USER=your-ses-smtp-username
EMAIL_PASSWORD=your-ses-smtp-password
EMAIL_SENDER=YourApp <noreply@yourdomain.com>

Request production access the day you create the account. The sandbox only delivers to verified addresses, so it will hide the problem in development and break sign-ups on launch day.

4. MailerSend: Best Budget Managed Alternative

What it is. MailerSend is the transactional email product from the team behind MailerLite, with an email API, SMTP relay, inbound routing on every plan and an official Node.js SDK.

Pricing. Free allows 500 emails/month (100/day) after approval, and needs a credit card. Hobby is $7/month for 5,000 emails plus $1.50 per extra 1,000, which makes 10k about $14.50. Starter is $35 for 50,000, $68 for 100,000 and $600 for 1M. Yearly billing takes 10% off. Verified 6 November 2026 against mailersend.com/pricing, monthly billing.

Strengths.

  • Cheaper than Postmark and Mailgun at 100k ($68) and 1M ($600)
  • Inbound routing included even on the free plan
  • Official TypeScript-typed SDK (mailersend)
  • Template builder for non-developers

Weaknesses.

  • Activity history is 1 day on Free and Hobby, 7 days on Starter, 30 on Professional
  • Dedicated IPs only on Enterprise, above 100k emails/week, price on request
  • Its own pricing and help pages disagree on some limits (Hobby webhooks, Starter inbound routes)

Best for. Teams sending 100k+ emails a month that want a full managed dashboard at a lower price than Postmark or Mailgun.

Next.js integration notes. npm install mailersend, or use its SMTP relay with Nodemailer. Expect an approval step before the free plan sends.

5. Mailgun: Mature API With Dedicated IPs Included at 100k

What it is. Mailgun, owned by Sinch, is one of the longest-running email APIs, with a REST API, SMTP relay and webhooks on every plan, and inbound routing that grows from 1 route on Free to full access on Foundation.

Pricing. Free sends 100 emails/day with 1 domain and 1 day of logs. Basic is $15/month for 10,000 ($1.80 per extra 1,000). Foundation is $35 for 50,000 and $75 for 100,000. Scale reaches $700 for 1M. One dedicated IP is included from the Foundation 100k plan, and extra IPs cost $59/month. Verified 6 November 2026 against mailgun.com/pricing.

Strengths.

  • Dedicated IP included at 100k emails/month, earlier than most competitors
  • Full inbound routing from Foundation
  • Typed Node SDK (mailgun.js), actively maintained

Weaknesses.

  • Log retention is short: 1 day on Free and Basic, 5 on Foundation, 30 on Scale
  • Basic allows 1 domain and no extra users
  • Since May 2025, SMTP credentials aren't generated automatically; create them manually before configuring Nodemailer

Best for. Teams that want a dedicated IP at around 100k emails a month without moving to an enterprise contract.

Next.js integration notes. Use mailgun.js or SMTP via Nodemailer (EMAIL_HOST=smtp.mailgun.org, EMAIL_PORT=587, EMAIL_TLS=false). Create the SMTP credentials in the Mailgun dashboard first.

6. Loops: Product and Marketing Email in One Tool

What it is. Loops is an email platform for SaaS that handles transactional, product and marketing email in one place, with templates built in the Loops editor.

Pricing. Free covers 1,000 subscribed contacts and 4,000 sends per rolling 30 days, transactional included, with a Loops footer. Growth is $49/month for up to 5,000 subscribed contacts with unlimited transactional sends. Pricing scales by contacts, not sends. Verified 6 November 2026 against loops.so/pricing.

Strengths.

  • Unlimited transactional sends on paid plans
  • One tool for onboarding sequences, newsletters and transactional email
  • SMTP support, including a Supabase Auth guide

Weaknesses.

  • The API doesn't accept HTML: templates live in the Loops editor, so existing React Email templates don't carry over
  • Attachments aren't generally available and need support to enable them
  • Rate limit of 10 requests per second per team
  • Contact-based pricing gets expensive for apps with many low-value users

Best for. Early SaaS teams that want lifecycle and marketing email without running a second tool, and can live with templates outside the codebase.

Next.js integration notes. Use the loops npm package and call transactional emails by transactionalId. In a MakerKit kit this means a custom mailer, and rebuilding the kit's React Email templates in the Loops editor.

7. Cloudflare Email Service: Native Sending From Workers (Beta)

What it is. Cloudflare Email Service sends email from Cloudflare Workers through a send_email binding, a REST API or authenticated SMTP. It entered public beta in April 2026.

Pricing. Sending to arbitrary recipients needs the Workers Paid plan, which includes 3,000 emails/month, then $0.35 per 1,000: $2.45 for 10k, $33.95 for 100k, $348.95 for 1M, plus the Workers Paid subscription. Sends to your own verified addresses are free. Verified 6 November 2026 against Cloudflare's Email Service pricing.

Strengths.

  • No API keys for Workers: await env.EMAIL.send({ to, from, subject, html })
  • Second-cheapest per email after SES
  • Same account and dashboard as your Workers, R2 and DNS

Weaknesses.

  • Still labelled beta in Cloudflare's docs
  • New accounts start with a "conservative daily quota" that grows over time, with no published number
  • No outbound delivery webhooks documented
  • Not available on the Workers Free plan

Best for. Apps already deployed on Cloudflare Workers that are comfortable on a beta product, or as a second sender for internal notifications.

Next.js integration notes. The binding exists only inside a Worker, so it works for Next.js on Cloudflare via OpenNext, not on Vercel or a VPS. In a MakerKit kit it needs a custom mailer. Until it leaves beta, Resend's HTTP API is the safer choice for Workers.

8. PostShiba: Flat Monthly Price, Built for Sending From Customers' Domains (Beta)

What it is. PostShiba is the email infrastructure behind Bento, opened to everyone as a public beta on 25 October 2026. It sends over SMTP, HTTP inject or a REST API, receives mail into hosted inboxes with signed webhooks, and gives each of your customers a separate tenant for domains, SMTP credentials, inboxes and suppressions.

Pricing. PostShiba charges a fixed monthly price per "cluster," sized by your busiest hour and any rolling 24 hours, with no per-email overage and no per-domain fees. Nano is $5/month (100 emails/hour, 600 per 24 hours), Micro $15 (4,000/hour, 24,000 per 24 hours), Small $49 (40,000/hour, 240,000 per 24 hours), Medium $99 and Large $299. Receiving is free, inbox storage is $0.50 per GB-month, extra shared IPs are $15/month and dedicated IPs $50/month. There is no free plan: the first cluster has a 7-day trial and needs a payment method. Verified 6 November 2026 against postshiba.com/pricing.

Strengths.

  • $15/month covers 50k-100k emails if your peak fits Micro, less than everything here except Amazon SES
  • A spike can't produce an overage invoice: sends over the cap are refused, not billed
  • Per-customer tenants, so one customer's suspension doesn't stop the others
  • Free inbound email, and dedicated IPs as a $50/month add-on
  • Node SDK on npm (@postshiba/node) plus Convex, Inngest and Trigger.dev components

Weaknesses.

  • Public beta since 25 October 2026, with manual production approval before you can send to external recipients
  • Over the hourly or 24-hour cap, REST returns 429 and SMTP returns 451, and PostShiba says your app must keep and retry rejected messages. Size the plan for your peak, or password resets wait.
  • No free plan, only a 7-day trial with a card
  • Most non-JavaScript SDKs install from GitHub, not a package registry
  • No published message-history retention period

Best for. B2B SaaS that sends email from its customers' domains, and teams that want a fixed email bill and can size for their peak hour.

Next.js integration notes. npm install @postshiba/node, then postshiba.emails.send({ from, to, subject, html }) with a Send only API key read from an environment variable. For SMTP, PostShiba offers port 587 with STARTTLS only (no port 465), which in a MakerKit kit means EMAIL_PORT=587 and EMAIL_TLS=false. It documents a Supabase Auth SMTP setup with the same port.

9. useSend: Best Open-Source Option

What it is. useSend is an open-source (AGPL-3.0) email platform with a hosted cloud version, a REST API, SMTP relay, webhooks and SDKs for TypeScript, Python, Go and PHP.

Pricing. The cloud free tier sends 3,000 emails/month with a 100/day cap. Paid has a $10/month minimum and charges $0.0004 per transactional email: $20 for 50k, $40 for 100k, $400 for 1M. Self-hosting is free, but useSend sends through your own Amazon SES account and needs SNS, Postgres and Redis. Verified 6 November 2026 against usesend.com and its self-hosting docs.

Strengths.

  • Open source, with a self-hosted path
  • Cheap cloud pricing at mid volume
  • Adds a dashboard and webhooks on top of SES's low per-email price when self-hosted

Weaknesses.

  • Self-hosting means you run SES, SNS, Postgres and Redis yourself
  • Smaller company and community than every other provider here
  • Free cloud tier allows 1 domain and 1 team member

Best for. Teams that want SES pricing with a usable dashboard and don't mind operating it. Plunk is a similar AGPL-3.0 option at $0.001 per email.

Next.js integration notes. npm install usesend-js, or point Nodemailer at its SMTP relay.

10. SendGrid: Hard to Recommend for New Projects

What it is. Twilio SendGrid is one of the largest email APIs, with HTTP and SMTP sending, an Inbound Parse webhook and a separate Marketing Campaigns product.

Pricing. SendGrid retired its free plan on 27 May 2025. New accounts get a 60-day trial of 100 emails/day, after which sending stops unless you upgrade. Essentials is $19.95/month for 50,000 emails or $34.95 for 100,000. Pro starts at $89.95 for 100,000 and reaches $799 at the 1.5M tier. Marketing Campaigns is billed separately from $15/month. Verified 6 November 2026 against SendGrid's pricing page.

Strengths.

  • Essentials is competitive at 50k and 100k ($19.95 and $34.95)
  • Large ecosystem and long track record
  • Dedicated IP included on Pro

Weaknesses.

  • No free plan, only a 60-day trial
  • 3 days of email activity history on Essentials, 7 on Pro
  • No dedicated IP on Essentials, so Essentials senders share IPs
  • Marketing email is a separate product and bill

Best for. Teams already on SendGrid with working integrations. For a new SaaS, Resend costs about the same at 100k and keeps 30 days of history.

Next.js integration notes. npm install @sendgrid/mail, or SMTP via Nodemailer with EMAIL_HOST=smtp.sendgrid.net, EMAIL_PORT=587, EMAIL_TLS=false, EMAIL_USER=apikey and your API key as EMAIL_PASSWORD.

How to Choose a Transactional Email Provider

Choose based on where your app runs, then on volume, then on how long support needs message history.

  • Choose Resend if you write TypeScript, use React Email, and send under a few hundred thousand emails a month. It's the default we'd pick for a new SaaS.
  • Choose Amazon SES if you send 100k+ a month, the bill matters, and you're comfortable wiring SNS or EventBridge for bounce handling.
  • Choose Postmark if support needs to look up messages from months ago, or you want broadcast mail on separate infrastructure from password resets.
  • Choose MailerSend or Mailgun if you want a managed dashboard at 100k-1M for less than Postmark. Pick Mailgun if you want a dedicated IP included at 100k.
  • Choose Loops if one tool for onboarding sequences, newsletters and transactional email matters more than keeping templates in your repo.
  • Choose Cloudflare Email Service if you're already on Workers and accept a beta product's limits.
  • Choose PostShiba if you send from your customers' domains or want a fixed bill, can size for your peak hour, and accept a beta.
  • Choose useSend if you want open source or SES pricing with a dashboard.
  • If unsure, start on Resend's free tier. Most providers here support SMTP, so with a Nodemailer setup switching later is usually a credentials change. Loops is the exception, because its templates live in its editor.

Whichever you pick, send transactional and marketing email from different streams or subdomains. In our view, a spam complaint about a newsletter shouldn't put your password-reset emails at risk.

Quick Recommendation

Resend is best for:

  • TypeScript SaaS teams using React Email
  • Apps deployed to Vercel, a Node.js server or Cloudflare Workers
  • Projects that want one provider for Supabase Auth and app email

Skip Resend if:

  • You send 1M+ emails a month and price dominates (Amazon SES à la carte is about a sixth of the cost)
  • Support needs more than 30 days of message history (Postmark)

Our pick: Start on Resend, move high-volume sending to Amazon SES when the email bill passes about $100 a month, and use Postmark when message history matters more than price.

Frequently Asked Questions

What is the best transactional email provider for SaaS in 2026?
Resend is the best default for TypeScript SaaS apps in 2026: $20/month for 50,000 emails, an official Node.js SDK with React Email support, SMTP for Supabase Auth, and an HTTP API that runs on Cloudflare Workers. Amazon SES is the cheapest at scale and Postmark is the best for long message history.
What is the cheapest transactional email service?
Amazon SES. At its à la carte rate of $0.10 per 1,000 emails, 100,000 emails cost $10 and 1 million cost $100. New accounts start on the Essentials plan at $0.16 per 1,000, which bundles extra features, and can switch to à la carte at any time. Cloudflare Email Service is next at $0.35 per 1,000 after 3,000 included emails on the Workers Paid plan. PostShiba, in beta, charges a flat monthly price by peak capacity instead ($49 for up to 240,000 emails per 24 hours), which beats SES at high volume if your sending is spread evenly.
Does SendGrid still have a free plan?
No. Twilio SendGrid retired its free plan on 27 May 2025. New accounts get a 60-day trial limited to 100 emails per day, and sending stops when the trial ends unless you upgrade. Essentials starts at $19.95/month for 50,000 emails. For a free alternative, Resend's free tier sends 3,000 emails a month.
Does Amazon SES still have a free tier?
Not for new customers. Since 21 July 2026, the SES-specific free tier of 3,000 messages per month is no longer offered to new accounts, which start on the Essentials plan at $0.16 per 1,000 emails (à la carte is $0.10 per 1,000). New AWS accounts get a 6-month free plan with up to $200 in AWS credits instead.
Why are my Supabase auth emails not sending?
Supabase Auth's built-in email sender allows only 2 emails per hour and delivers only to addresses on your project's team; Supabase says it is not meant for production. Configure custom SMTP in the Supabase dashboard with a provider such as Resend, Amazon SES or Postmark. Custom SMTP starts at 30 auth emails per hour and the limit can be raised in the rate limits settings.
Can I send email from Cloudflare Workers?
Yes. The reliable path is an HTTP email API such as Resend, because Nodemailer depends on Node.js TCP socket APIs; MakerKit's Cloudflare deployment guide switches the kit to its Resend HTTP mailer for that reason. Cloudflare's native option is Cloudflare Email Service, which sends through a send_email Worker binding, is in public beta, and requires the Workers Paid plan.
Do I need a dedicated IP for transactional email?
Not at typical early SaaS volume. Providers only offer dedicated IPs above set volumes: Resend above 3,000 emails per day on Scale, Postmark from 300,000 emails per month, and Mailgun includes one from its 100,000-email Foundation plan. Below those volumes, the provider's shared IP pools are the default.
Should transactional and marketing email use the same provider?
They can, but keep them on separate streams or subdomains so newsletter complaints don't affect password resets. Postmark runs broadcast streams on separate infrastructure at no extra cost, Resend bills marketing separately by contacts, and SendGrid sells marketing as a separate product.

Sending Email From a MakerKit Kit

Every MakerKit web kit (Next.js, TanStack Start and React Router) ships two mailers in packages/mailers: Nodemailer for any SMTP provider and Resend over HTTP, switched with MAILER_PROVIDER. Any other provider, including Cloudflare's binding or Loops, plugs in as a custom mailer registered in the same registry.

  • Supabase kits send app emails through the kit mailer and auth emails through Supabase Auth's SMTP settings. Configure both before launch: email configuration and authentication emails.
  • Drizzle and Prisma kits (Better Auth) send every auth email through the kit mailer, alongside invites and account emails. One provider covers everything.
  • Cloudflare deploys need MAILER_PROVIDER=resend or a custom HTTP mailer, as the Cloudflare deployment guide explains.

If you're choosing the rest of your stack too, our Better Auth vs Clerk vs Supabase Auth comparison and Next.js hosting guide use the same method. MakerKit kits are a one-time purchase; see the kits if you'd rather start with the email, auth and billing wiring already done.