Skip to content

Frostmail

Frostmail is a mail client that works like Apple Mail.app. It runs on Linux and on Windows. It keeps your mail, contacts, calendars, and tasks in a daemon on your machine, and the app and the command line talk to it.

  • maild is a per-user Go daemon. It syncs your mail, keeps a SQLite cache with full-text search, and serves a JSON-RPC socket.
  • The app is Tauri v2 with a React UI. It uses WebKitGTK on Linux and WebView2 on Windows.
  • mailctl is a command-line client of the same socket.
  • The daemon can also serve a phone and any browser on your tailnet, as the mail app of lodge.
  • Mail: sync, read, search, and send for generic IMAP, Gmail, iCloud, and Outlook.com accounts.
  • Contacts, calendars, and tasks over CardDAV, CalDAV, Google Tasks, and Microsoft Graph. You answer invitations from the reader, and you edit events and contacts in place. A To-Do bar sits beside the inbox.
  • Rules, smart mailboxes, VIPs, Send Later, and Remind Me.

Frostmail is pre-release. The latest release is v0.4.0. Its Flatpak, org.frostyard.Frostmail, is in the Frostyard Flatpak remote. The release also attaches frostyard-maild_X.Y.Z_amd64.deb, for lodge’s host. The .deb holds maild, mailctl, the units, the frostmail user, and the web build for lodge’s mail app. Frostmail is not in the Frostyard APT repository or the Frostyard Homebrew tap. On a Frostyard image, the maild system extension installs maild for lodge’s host.

The Flatpak carries maild and mailctl, and its launcher starts its own local maild. Local is the default, and lodge is a connection you choose: nothing turns it on for you, and a change of mode never copies, moves, merges, or deletes your data.

The first launch asks the Background portal to let maild run in the background and start at login. If you refuse, maild runs only while a window is open, so sync, Send Later, and notifications wait until you open the app.

Mail in lodge is built and still in progress. Its last step, the move of a real mail store to lodge’s host, has not run yet. Calendar, task, and contact tools for agents are built. Google and Microsoft verification are planned.

The desktop app is a Flatpak. It works on its own: it carries maild and mailctl, and you need no lodge. Floe has no Flatpak.

Add the Frostyard remote once, for your user:

flatpak remote-add --user --if-not-exists frostyard https://frostyard.github.io/flatpak-index/frostyard.flatpakrepo

Apps use runtimes from Flathub, such as the GNOME runtime. A --user install gets a missing runtime only from a user remote, so add Flathub for your user too:

flatpak remote-add --user --if-not-exists flathub https://dl.flathub.org/repo/flathub.flatpakrepo

Install Frostmail:

flatpak install --user frostyard org.frostyard.Frostmail

The Frostyard Flatpak remote has the canonical steps. Check the install:

flatpak info org.frostyard.Frostmail

The output shows ID: org.frostyard.Frostmail. Frostmail shows in the app grid. Update it with flatpak update. The app’s data is under ~/.var/app/org.frostyard.Frostmail/.

If you ran maild on the host before, the welcome screen shows a note with the steps that move your mail into the Flatpak. The Flatpak’s own maild has them.

To build from source, make install puts maild and mailctl in ~/.local/bin with a systemd user service, and you build the app in an nsl machine. The local build has the same app ID as the Flatpak from the remote: install one of the two at a time. The install steps for one user are the canonical ones. Behind lodge, maild runs as the system user frostmail on lodge’s host. To check the release .deb before you install it, run gh attestation verify frostyard-maild_X.Y.Z_amd64.deb --repo frostyard/frostmail.

  • Gmail OAuth sign-in needs your own Google client until Frostmail has a verified one. A Gmail app password works without one.
  • Microsoft work and school accounts are not supported.
  • maild applies database migrations at start and refuses a newer database. Back up ~/.var/app/org.frostyard.Frostmail/ before you install a newer Flatpak. For a build from source, back up $XDG_DATA_HOME/frostmail.

Reviewed 2026-10-30.