Skip to content

EnoughMail brings personal, work, and project email into one web app. Read conversations, reply with rich text and attachments, search your mail, and organise it with folders, labels, and rules.

Manage multiple inboxes and sending addresses, with a combined view when you want it. You deploy and run the app in your own Cloudflare account. EnoughMail is an open-source beta for people who want to manage their own mail infrastructure.

Highlights

  • Several domains and inboxes in one app
  • Rich replies and attachments
  • Search, labels, rules, and optional notifications

The right address for the conversation

A personal address, a business domain, and a side project can belong to the same person without belonging in the same inbox. EnoughMail keeps those inboxes separate while providing a combined view for catching up. Addresses are assigned to an inbox, and access can be delegated when another person needs to help. The organisation follows the work.

Replies also need to come from the right place. For mail received through a catch-all address, EnoughMail defaults to the actual receiving address. It confirms the sending identity before submitting a message, and keeps the draft if that confirmation fails. Address ownership is part of sending, rather than just a label in the composer.

Keep the draft. Know what happened.

EnoughMail includes draft recovery, submission receipts, and explicit handling for a send whose outcome is uncertain. These are the details that matter when a connection drops halfway through an ordinary reply: the app needs to preserve the work and explain the state of the message.

Conversations, search, labels, rules, and templates cover the everyday loop. Remote images have loading controls, and browser notifications are optional. JMAP, the protocol used to exchange mail state with the app, supplies updates; encrypted browser push can notify an opted-in device even when its tab is closed.

A private workspace with a defined front door

The browser workspace is protected by verified Cloudflare Access identity. A separate receiving service accepts incoming mail, while account storage, permissions, and the attachment scanner remain private. EnoughMail can be deployed independently: running the inbox does not require installing the other Enough products.

An optional ChatGPT connection uses a separate endpoint and an approval flow for mail permissions. It can expose mail tools and incoming-message events, with reading, draft preparation, and sending governed by the granted actions. The connection is an explicit extension to the inbox rather than a prerequisite for using it.

Try the interface, then bring a domain

The repository includes a local demonstration with fictional accounts and messages. It shows the actual interface without receiving or sending real mail, so the inbox and conversation views can be explored before configuring infrastructure.

The working product is an MIT-licensed, self-deployed beta. An installation needs the documented Cloudflare services, a domain in that account, and deployment tooling. When adopting a domain that already receives mail, the setup reviews its DNS and forwarding changes and saves recovery evidence. Existing messages remain with the previous provider; moving delivery is a separate operation from importing old mail.

Related writing