Skip to main content

Transactional email infrastructure

OpenSES: an open-source transactional email API for Amazon SES

OpenSES turns Amazon SES into a clean sending API with logs, webhooks, domains, and templates. Open source, self-hostable, and ready for cloud teams.

100% open source/AGPL-3.0 core/No sending markup
openses / event streamLIVE
09:41:16.208em_k8s92jdeliveredmaya@acme.com
09:41:14.720em_p4v2qxopenedali@buildco.io
09:41:13.102em_x7n4adsentnoor@gridlabs.co
09:41:11.554em_t9bz2pdeliveredkenji@shipfast.app
09:41:09.872em_w2qk7msendingpriya@novastar.dev
09:41:08.314em_f8d3scqueuedsam@acme.com
09:41:06.912em_z6hq1adeliveredlina@buildco.io
09:41:05.421em_m5rx8vopenedjordan@gridlabs.co
0 emails / min/0.0% delivered/0.0% bounce

Trusted by teams using AWS SES

Acme CorpBuildcoNovaStarGridLabsShipFastDraftbit

Quick start

Send an email in
60 seconds.

1

Install the SDK

npm install @openses/openses
2

Initialize with your API key

Works with any AWS region.

3

Send

It's in the inbox.

Read the full API reference
TSsend-email.ts
import { OpenSES } from '@openses/openses'

const client = new OpenSES({
  apiKey: process.env.OPENSES_API_KEY,
  baseUrl: 'https://email.mycompany.com',
})

const { id } = await client.emails.send({
  from: 'Acme <noreply@acme.com>',
  to: ['user@example.com'],
  subject: 'Your order is confirmed',
  html: '<p>Order #1042 is on its way.</p>',
})

console.log(`Sent: ${id}`)
// Sent: em_k8s92jx1n3p

Features

Everything email infrastructure needs.

Not a marketing platform. A sending infrastructure layer with the primitives serious applications need.

Project API Keys
Scoped keys per project and environment. Hash-stored, prefix-displayed, and easy to revoke.
Webhook Delivery
Subscribe to signed email events with automatic retry and one-click replay for failed deliveries.
Domain Verification
Connect a domain, get DKIM records, and keep SES verification status visible in one place.
Email Logs
Every send and every event is queryable by status, sender, recipient, subject, or date.
Suppression Management
Automatic suppressions from hard bounces and complaints help protect your SES reputation.
Template Engine
Store reusable HTML and text templates with variables, rendered server-side before send.
BYO AWS SES
Your credentials, your limits, your reputation. OpenSES is the control plane on top.
Open Source Core
Inspect it, fork it, self-host it, and build against the same API you use in production.
Multi-project Orgs
Organizations, projects, environments, roles, and API keys match how teams already ship.

Architecture

Zero vendor lock-in. Your infra, your data.

OpenSES sits between your application and Amazon SES. Your credentials and email content stay inside your AWS model.

Your App
Next.js / Laravel
Django / more
API key
OpenSES
dashboard / logs
queue / API
BYO creds
Amazon SES
your AWS account
$0.10 / 1k emails

Self-Hosted

Free Forever

Deploy on any Linux server. Docker image, full feature set, and no platform rate limits.

Deployment guide

Hosted Cloud

From $0

We manage the app. You manage your SES account. Start free, upgrade when your team grows.

Create account

Pricing

Simple pricing, no surprises.

You pay AWS for the emails. We charge for the platform.

AWS SES costs $0.10 per 1,000 emails. OpenSES adds nothing to that sending cost.

Open Source
$0/ forever

Self-host. Bring your own SES.

  • Unlimited emails within your SES limits
  • Unlimited projects and API keys
  • Email logs for 30 days
  • Webhooks and templates
  • Domain verification
  • Community support
Deploy yourself
Most PopularStarter
$10/ month

Hosted cloud for indie builders.

  • Everything in Open Source
  • Managed app operations
  • 3 team members
  • Email logs for 90 days
  • Webhook replay
  • Email support
Choose Starter
Scale
$20/ month

Hosted cloud for growing teams.

  • Everything in Starter
  • 10 team members
  • SSO and audit logs
  • Email logs for 1 year
  • Priority support
Choose Scale

Need SAML, multi-region, or a higher SLA? Talk to us about Enterprise

What developers say

The DX you expect. Without the lock-in.

Migrated from a hosted email provider in an afternoon. Same API shape, but now our credentials stay in our own AWS account.
AK

Alex K.

Backend Engineer, Acme

The BYO-SES model was exactly what compliance needed. We own the pipeline end-to-end.
MT

M. Torres

Platform Lead, GridLabs

Finally, an email platform that doesn't treat logs as an upsell. Every event is visible from day one.
DL

Dana L.

Founding Engineer, ShipFast

Open Source

Everything is in the open. Read it, fork it, contribute.

0Stars
0Forks
0Contributors

AGPL-3.0 core / MIT SDK

FAQ

Frequently asked questions.

Everything teams usually ask before moving transactional email onto their own SES account.

What is OpenSES?

OpenSES is an open-source transactional email platform that wraps Amazon SES. It adds a clean REST API, a Node.js SDK, delivery and bounce logs, signed webhooks, domain verification, and reusable templates on top of the SES account you already own.

How is OpenSES different from Resend, SendGrid, or Postmark?

Those services resell email sending at their own margin and hold your sending reputation. OpenSES sends through your own Amazon SES account, so you pay AWS directly at $0.10 per 1,000 emails and keep control of your domains, sending limits, and deliverability reputation. OpenSES is also open source and can be self-hosted.

How much does OpenSES cost?

The core platform is free and open source under AGPL-3.0-only, and self-hosting costs nothing beyond your own infrastructure. Managed cloud plans are available for teams that do not want to run it themselves. In every case, email sending is billed by AWS at $0.10 per 1,000 emails — OpenSES adds nothing to that per-email cost.

Can I self-host OpenSES?

Yes. OpenSES ships as a Docker deployment covering the API, dashboard, and Postgres database. Self-hosting keeps email content, logs, and API keys entirely inside your own infrastructure.

Do I need my own AWS account to use OpenSES?

Yes. OpenSES connects to your Amazon SES account using your AWS credentials and works with any AWS region. Your SES sending quota, verified domains, and reputation stay under your control.

How do I migrate from Resend to OpenSES?

The OpenSES Node.js SDK includes a Resend-compatible facade for the transactional sending path. Existing code can keep the same client variable, the emails.send() call, and the { data, error } response shape, so most migrations only require swapping the import and the API key.

How does OpenSES handle webhooks?

OpenSES signs the raw webhook request body with HMAC-SHA256 and sends the result in the X-OpenSES-Signature header. Your endpoint recomputes the signature with your webhook secret and compares it to verify the payload is authentic.

What email events does OpenSES track?

OpenSES records queued, sending, sent, delivered, opened, bounced, and complained events for every message, with per-recipient detail available in the dashboard logs and over the API.

Start sending in minutes.
Not weeks.

Self-host for free or start with OpenSES Cloud. No vendor lock-in either way.

Cloud plans start at $10/month. No free trial.
Self-hosted: AGPL-3.0 for the core, MIT for the SDK.