{"repo":"productdevbook/unemail","free":true,"listed":false,"github":"https://github.com/productdevbook/unemail","clone":"git clone https://github.com/productdevbook/unemail.git","description":"One unified email API across 18 providers (SMTP, Resend, SES, Postmark, SendGrid, Mailgun, …). Zero deps, RFC 8058 + DKIM ready, edge-first, strict TypeScript.","language":"TypeScript","stars":242,"topics":["email","aws-ses","brevo","cloudflare-workers","dkim","dmarc","edge-runtime","mailchannels","mailgun","mjml"],"license":"MIT","category":"auth-billing-email","readme_excerpt":"unemail Driver-based, zero-dependency TypeScript email library. Send, batch, schedule, dedupe, render, parse, verify, and sign — one unified API across every runtime. Design goals Goal How unemail delivers ---------------------------- ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- One API, many transports createEmail({ driver }) — 15+ built-in drivers (SMTP, Resend, SES, Postmark, SendGrid, Mailgun, Mailtrap, Brevo, MailerSend, Loops, Zeptomail, MailChannels, Cloudflare Email, …) Cross-runtime Node, Bun, Deno, Cloudflare Workers, browser — core is zero-dep and Web-API only. No axios , ever. Compliance-ready RFC 8058 one-click List-Unsubscribe, DKIM + ARC signing, suppression/preference stores, DMARC + TLS-RPT + ARF parsers Resilient by default Idempotency, retry w/ jitter, per-provider rate-limit, circuit breaker, dedupe, dead-letter, provider fallback Unified observability Structured logging, OpenTelemetry, Prometheus metrics, normalized EmailEvent stream across send + webhook paths Modern DX { data, error } Result discriminated union, typed Address primitive, react: / mjml: / handlebars: / liquid: props Testing-first createTestEmail() with inbox + waitFor + 5 Vitest matchers + snapshot helper Install Rendering, queue, and parser entries pull in optional peer deps only when you import them: Hello world Every driver implements the same contract,","default_branch":null,"files":null,"tree":[],"storefront":"/r/productdevbook","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/productdevbook/unemail/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}