Skip to content

Releases

goodmail 0.9.0

Choose a tag to compare

@antongpopov antongpopov released this 10 Nov 12:35

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 newer

Put 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.