Developer tools for sending email from your app: transport APIs, content you own, and ops. A 2026 stack map with a minimal Notify default.
“Developer tools for sending email” usually gets answered with another ESP roundup. Useful tools are broader: how you transport mail, how you build the body, and how you observe failures.
This guide maps the stack. Notify wins the “smallest API that still gives logs” slot — not the “own your templates for you” slot.
The three layers
| Layer | Job | Examples |
|---|---|---|
| Transport | Get the message to an MTA / inbox | Transactional HTTP APIs, SES SDK, SMTP relay |
| Content | Produce HTML/text | String templates, your components, Markdown→HTML |
| Ops | Know what failed | Provider logs, webhooks, suppressions |
Pick one tool per layer. Don’t buy a marketing suite because you needed a transport.
Transport tools
1. Transactional HTTP APIs (default for SaaS)
Best for: Password resets, receipts, verify links from app backends.
What good looks like: JSON body, API key header, domain verification, logs, optional webhooks.
Notify — minimal surface (to, from, subject, message), Free 1,000 / Pro $10 for 10,000 / Scale $50 for 100,000 (pricing):
await fetch('https://notify.cx/api/email/send', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'x-api-key': process.env.NOTIFY_API_KEY
},
body: JSON.stringify({
from: 'noreply@your-verified-domain.com',
to: 'user@example.com',
subject: 'Hello',
message: '<p>It works.</p>'
})
});
Walkthrough: Quick start · Sending emails
Resend — stronger ecosystem/docs defaults for many Next.js tutorials. See Notify vs Resend.
Postmark — deliverability-premium transactional specialist. See Notify vs Postmark.
SendGrid / Mailgun — powerful; heavy if you only need transport. Exits: vs SendGrid · vs Mailgun.
2. Nodemailer + SMTP (when it fails)
Nodemailer is a fine client. The failure mode is the server: app-host SMTP, blocked ports, no reputation, no bounce story.
Use SMTP when: your provider gives you an SMTP relay and you have a legacy app that can’t do HTTPS yet.
Don’t use SMTP when: “we’ll just send from the VPS for now.”
Migrating off raw SMTP: Migrate from SMTP.
3. AWS SES SDK
Best for: High volume, AWS-native teams with production access.
Cost: Excellent unit economics.
Tax: IAM, configuration sets, you build logs/webhooks. New accounts often sit in sandbox waiting for production access — weeks or months is common.
A thin API (Notify or similar) is the escape hatch when you want SES-like “just send” without assembling the control plane on day one. Compare: Notify vs AWS SES.
4. Provider SMTP relays
Middle ground: still go through a reputable provider, keep SMTP protocol. Prefer their HTTP API for new code — better errors and structured events.
Content tools (you own these)
The email API should not become your CMS.
| Approach | When |
|---|---|
| HTML string templates | Most SaaS transactional mail |
| Server-rendered components in your app | Type-safe layouts you already maintain |
| Markdown → HTML | Simple receipts and notes |
| Visual builders in the ESP | Avoid for transactional — lock-in + wrong product gravity |
You (or your AI) write the HTML; the API delivers it. That split keeps migrations cheap and matches Notify’s product stance. Do not treat React Email as a Notify dependency — if you use it, render to HTML yourself and pass message.
Common patterns: Password resets · Magic links & OTP · Receipts
Ops tools
- Dashboard logs — enough at low volume (Notify Free: 48h retention; paid: permanent)
- Webhooks — bounce/complaint → suppress in your DB (Notify: Pro/Scale) — Webhooks docs
- Your own idempotency — Stripe retries, queue retries
- Slack/Discord alerts — optional recipes on top of webhooks
Without ops, transport is a black box and support becomes “did you check spam?”
What to skip
- Newsletter platforms as your reset provider
- MCP servers for a single
fetch - Multi-ESP abstractions before your first send
- Dedicated IPs before you have volume and a reputation problem
Recommended starter kit (2026)
- Transport: Notify (or Resend if you want that ecosystem)
- Content: HTML templates in your repo
- DNS: SPF + DKIM on a verified domain
- Ops: Provider logs now; webhooks when bounces hurt
App event → server helper → Notify → inbox
↓
hashed tokens / idempotency in your DB
Pipeline detail: Email pipeline.
Bottom line
Developer email tooling is a transport, a content path you own, and ops. Rank tools by those jobs — not by who has the flashiest studio.
Comments
Loading comments…