← All projects
In progress v0.1.0 Updated In development

EthaMail

A bring-your-own-mailbox email client. Point it at any IMAP account and it works.

TypeScriptReactFastifyIMAP

Install both workspaces

npm install

Run server and web together

npm run dev

Container

docker-compose up -d --build

Direct downloads

Before you install

npm run dev starts the API on 4000 and the web client on 5173 together. Open the web client and enter your IMAP and SMTP details there.

Credentials are held by the server for the session. Do not expose the API to a network you do not control without TLS in front of it.

Gmail and other providers with app-specific passwords need one generated first; the client cannot complete an OAuth flow yet.

Requirements

Node20 or later
MailboxAny IMAP and SMTP account
Ports4000 server, 5173 web in development
TLSRequired if exposed beyond localhost