Repository navigation
Releases
Releases · antongpopov/goodmail
goodmail 0.9.0
First tagged release of goodmail, a webmail client that talks plain IMAP + SMTP to any mail server, with an Outlook-style three-pane interface. Self-hosted, a single Node.js process, no database.
Highlights
- Mail: folder tree, date-grouped list with previews, sandboxed reading pane (remote images and trackers blocked), rich-text composer, drag and drop, keyboard shortcuts, server-side search.
- Filter and sort menu (Unread, Flagged, To me, Has files; sort by date, from, subject, size, flag), compact one-line list for the below/hidden reading pane, calendar side panel.
- Several accounts per user, with combined views ("All inboxes", "All sent" and more) and drag-to-reorder accounts.
- Calendar, To-Do and address book, with .ics and vCard/CSV import and export.
- Security: two-step sign-in (TOTP, passkeys, mailed code, recovery codes), password change and "forgot password" through your own helper command, S/MIME sign, encrypt and verify.
- Mail rules (Sieve over ManageSieve) and administration of mailboxes, aliases (including catch-all and forwarding) and domains for Postfix + Dovecot + PostfixAdmin (
ops/). - Seven languages (English, Dansk, Deutsch, Svenska, Norsk, Français, Español), light and dark themes, works down to phone width.
- A friendly "We'll be right back" page for Apache while goodmail restarts (
deploy/).
Install
Download goodmail-0.9.0.tar.gz, unpack it, then:
cp goodmail.conf.example goodmail.conf # edit your domains and servers
NODE_ENV=production PORT=3000 node dist-server/index.mjs # Node 20 or newerPut it behind a TLS reverse proxy. The archive contains the built web app (dist/), the single-file server (dist-server/index.mjs), the example config, the helper scripts (ops/) and deployment examples (deploy/); no npm install is needed. Details are in the wiki.
License: AGPL-3.0-or-later.