A local-first mail client for macOS, built around Correspondence.
Your archive stays on your Mac.
Install · Gallery · What it does · What it does not do yet · Guide
Moonmail is a desktop mail client on Moonframe, laid out like MailMate: mailboxes down the side, a dense message list on top, Correspondence and the reader below. Correspondence shows everything exchanged with the people on the selected message, separately from its reply thread. It is not affiliated with MailMate.
Moonmail has no release yet, so build it from source. You need rustup, Xcode Command Line Tools and Just. The first build compiles Moonframe and GPUI and can take several minutes.
just demo # 72 synthetic messages; no network or credentials
just run # your own archive, in ~/Library/Application Support/moonmail
just debug # the same, with account logs in target/moonmail-debug.log
just ci
The window. Mailboxes, the message list, Correspondence and the reader. Demo data.
- Accounts: up to 32, over IMAP and SMTP. Fastmail, Gmail, Microsoft, iCloud, Yahoo, AOL and custom servers, with credentials in macOS Keychain.
- Sync: folders, flags and keywords, by hand or on a timer, with original messages kept byte for byte.
- Reading: threads, Correspondence, and sanitized HTML with remote images blocked.
- Search: fields, Boolean operators, saved searches and partitions, on a local index.
- Writing: separate composer windows, identities, signatures, attachments and a durable outbox that never resends a message on its own.
- Organizing: move, copy, archive, tags, folder management and folder-entry rules, with every remote change queued and visible.
- Make it yours: restyle it in Settings, or ask a coding agent to change it while it runs.
- It has not been proven against real accounts: tests use synthetic mail and a local mail server, so expect rough edges with your provider.
- It runs on macOS only, and there is no signed release.
- Sign in with Google or Microsoft needs your own imported OAuth client. Gmail also works with an app password.
- No IDLE, CONDSTORE or QRESYNC: new mail arrives on Sync or on the timer, and it has not been shown to sync a million messages.
- No POP3, Exchange (EWS) or Microsoft Graph, and no Gmail-specific labels.
- Composing is plain text, and drafts stay local.
- Only one composer window at a time.
- Local mail is not encrypted by Moonmail, so rely on disk encryption.
The guide covers every feature, account setup, limits and development.





