Developers
Everything you can build,
on the mailbox your team already reads.
21 features for your code: sending, timing, events, keys and the clients that call them. Each one links to how it works.
Write one call. Delivery is on us.
Anything that speaks HTTP can send. TypeScript gets a typed client, and every message reports back as it is queued, sent and delivered.
Templates
A body written once, versioned, and sent many times: from the composer, from your own code, or by an agent.
Attachments
Pick them with the paperclip or paste them in. A pasted image lands in the body rather than the file list, and a file dragged onto the composer is not attached at all. On an OpenEmail mailbox incoming files sit in object storage, one object each, and opening a thread pulls every one of them.
Send once. Exactly when you meant to.
A retry never sends twice, a send can wait up to a year, and an undo window lasts up to fifteen minutes.
Events as they happen
Webhooks tell your endpoint the moment mail arrives, is delivered, bounces or gets a reply.
Every door, up close.
Use the typed SDK, script the CLI, connect an agent over MCP, or speak plain HTTP.
Access you can narrow
A key carries its own scopes, a sending address and an expiry. An app signs in with OAuth and gets only what you approve.
read, or read and send as it, with nothing else visible
Everything the app does, your code does.
Threads, search, labels, drafts and contacts are calls too, on the mailbox your team already reads.
Coming from Resend? Change two lines.
Point the Resend SDK at OpenEmail and keep your code, then bring contacts, templates and webhooks across.