Built on top

Email inside your product
a few lines of code

Send, read and organise mail from your own code with a typed client.

openemail.emails.send
Your app
awaitopenemail.emails.send({
to:user.email,
template:'order-receipt',
})
idmsg_3e91c7
queuedsentdelivered
email.openedemail.clickedper message

The call answers with an id. That id is how you read the trail later.

How it works

Running in three steps.

  1. 01

    Install the client

    Add the package and set your workspace key.

  2. 02

    Send the message

    One call: the sender, the recipients, a body or a template.

  3. 03

    Follow it

    Read the delivery trail, then opens and clicks per message.

What it runs on

The parts doing the work.

Nothing here is a separate product. Each one is a piece of the mailbox you already have.

Typed SDKs

A TypeScript client first, then the rest.

/threads?query=invoice
{ "threads": 12 }
Same mailbox, whether a person or a program is holding it.
REST API

A documented HTTP API with issuable, scopable, revocable keys.

/threads?query=invoice
{ "threads": 12 }
Same mailbox, whether a person or a program is holding it.
Webhooks

Tell your endpoint when mail arrives, instead of making you poll.

/threads?query=invoice
{ "threads": 12 }
Same mailbox, whether a person or a program is holding it.
Templates

A body written once, versioned, and sent many times: from the composer, from your own code, or by an agent.

IntroInvoiceFollow-up
Hi Sarah, good to meet you at
See when mail you sent was opened

Whether a message you sent has been opened, when, how many times and which of its links were followed. On unless you turn it off, and plain about the readings it cannot get.

Scheduled send

Write it now, land it when they are awake.

Tomorrow, 8:00
queued, not sent
Full-text search

Forgiving words and operators like from: and has:, inside the folder you are reading.

invoice from stripe
Stripe · Invoice #4021
Stripe · Receipt for Aug
Labels

Name a label, pick a colour, and filter the list down to it.

InvoicesRecruitingNewsletters
Drafts

Autosaved three seconds after you stop typing, and reopened from the Drafts folder with the recipients, the subject, the body and the From address intact. The attachments stay behind.

Re: Design review
Thanks. Shipping the fix this afternoon.
Sendno mouse, no menus

Nearby

Other jobs for the same inbox.

Rules for arriving mail

Say what happens to a message before anybody opens it.

Invoice 2214 for AugustInvoicesArchive
1Subject hasinvoice24+1
2From domain ispinefield.dev61+1
Test your signup mail
Soon

Give each test run its own address and read the mail it receives.

signup-02@acme.com
Confirm your email730915
signup-01@acme.com418204
signup-02@acme.com730915
Send a newsletter

Design the email once, send it from your own code, and see what was opened.

Hi{{firstName}}Omar
Read the update
130Sent42Opened9Clicked

Your inbox,
on your own terms.

Email infrastructure for businesses, AI, agents and personal email. Built for scale, privacy and control. Everything email should have had from day one.

OpenEmail

Email infrastructure for businesses, AI, agents and personal email. Built for scale, privacy and control. Everything email should have had from day one.

© 2026 OpenEmail. All rights reserved.