Built on top

An address per customer
reply by email

Give every ticket, record or customer its own address, with nothing to create.

Your app
Ticket 8123ticket-8123@in.yourapp.com
Ticket 8124ticket-8124@in.yourapp.com
Ticket 8125ticket-8125@in.yourapp.com
Toticket-8123@in.yourapp.com
My parcel never arrived.
Fromticket-8123@in.yourapp.comSame address
It is on the way. Tracking below.

Nobody created these addresses. The reply leaves as the one the mail arrived at.

How it works

Running in three steps.

  1. 01

    Mint it in code

    [email protected] works the moment somebody writes to it.

  2. 02

    Take the event

    It names the address the message was delivered to.

  3. 03

    Answer as that address

    Send from it, into the same thread, from your own code.

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.

Catch-all addresses

Every address on the domain receives, including ones that have never been created. One switch closes it.

hello@yourdomain.comdelivered
billing@yourdomain.comdelivered
careers@yourdomain.comdelivered
anything-at-all@yourdomain.comdelivered
oct-2026-signup@yourdomain.comdelivered
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.
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.
Rules you write yourself

Your own conditions, and what should happen to anything that matches them.

[email protected]blocked sender
[email protected]blocked domain
[email protected]language filter
[email protected]your rule → archive
Send as any alias

Reply from the exact address the mail arrived on.

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.
Multiple domains

Point several domains at one inbox, subdomains included.

acme.comacme.devteam.acme.comhey.acme.io

Nearby

Other jobs for the same inbox.

Email into your app

Mail arriving at your domain reaches your server as a signed webhook, seconds later.

POSThooks.acme.dev/mail200
typeemail.received
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
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

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.