NeoMail runs as a long-lived service on a machine that remains online when you expect inbox sync, API access, MCP access, send-later jobs, or AI indexing to work.
- Node.js 20 or newer with npm
- A macOS or Linux user account that can install packages
- Reachability from the NeoMail server to each mailbox's IMAP and SMTP hosts
- Enough disk for synced message cache, attachments, logs, and search indexes
npm install -g neomail
neomail install
neomail setup
neomail startThe install command creates the runtime layout under NEOMAIL_HOME, prepares
secure runtime defaults in the .env file if needed, and builds the local
Flutter web app for /app.
neomail setup writes admin credentials and optional URL settings into the
runtime env file. If you do not pass --admin-pass, the CLI generates a secure
password and prints it once.
- Open
http://localhost:3333. - Create the first account.
- Open
/adminand configure the LLM provider. - Sign in to
/app. - Add an IMAP/SMTP account in Settings.
- Trigger the first mailbox sync.
- Create an API key if you plan to use
/api/v1/*or the MCP host.
NEOMAIL_HOME: runtime rootNEOMAIL_DATA_DIR: SQLite database, sessions, and server-owned stateNEOMAIL_CACHE_DIR: cached artifacts and transient dataNEOMAIL_ENV_FILE: runtime environment file
If unset, NeoMail defaults to a ~/.neomail runtime.
neomail status
neomail logs
neomail open appUse logs on the machine actually running NeoMail. Logs from another computer
do not describe the remote server.