Mail, Calendar, People, Tasks, Notes, Journal and Feeds in one application. Open protocols only — IMAP, POP3, SMTP, CalDAV, CardDAV — with no cloud service behind it, no account required, no AI features and no telemetry.
A .deb for Debian 13 and its relatives · Arch via the AUR
(yay -S mailbox-bin) · a self-contained tarball that runs from wherever
you extract it.
Every module is part of the same application over the same local store, reached from the rail down the left edge. Categories, search, printing and theming work the same way in all of them.
IMAP, POP3 and SMTP with autoconfig and OAuth2. Conversations, search folders, rules that compile to Sieve, and a junk filter trained on your own marks.
Recurring events with real time-zone and DST handling, a second time-zone column,
iMIP invitations, reminders, a scheduling assistant and read-only .ics
subscriptions.
vCard address books over CardDAV, autocomplete and Select Names, business-card and list views, and categories shared with every other module.
The To-Do List and task folders, recurring chores that regenerate on completion, reminders, and Google Tasks sync.
A wall of small note windows you can leave open on the desktop, categorised and searched alongside everything else.
A six-view timeline of what happened and when, kept in the same store as the rest of it.
A built-in RSS and Atom reader as a module of its own, with its own store, boards, Read Later and article text kept for reading offline.
Eleven conversation arrangements, Focused Inbox, an opt-in unified inbox, and
full-text search with a keyword grammar — from:, subject:,
dates — running against a local index whether or not you are online. Snooze, Undo Send,
schedule send, Archive, Ignore Conversation, Quick Steps and Conversation Clean Up are
all where you would reach for them.
Feeds is its own module with its own store: subscriptions grouped into headings, boards you assemble yourself, Read Later, unread-only filtering and three densities. Articles come down for reading offline, and the unread count sits in the rail with everything else.
The rail opens the calendar, people or tasks over the message list rather than instead of it — docked to the side or floating where you left it, with the day's appointments underneath the month.
GIF and APNG headers keep their animation: every frame decoded, composited and freshly re-encoded, then played on the title bar at each frame's own timing — reaching through the tab strip, the band those images were drawn for. A Reach option reins any theme back.
Search addons.mozilla.org from inside the application by words, popularity, rating, trending, colour or category. Every preview is drawn from the same mapping an install produces, and the theme's licence is named while declining is still a button. Installing asks first, in plain words. The browser is the one place theming touches a network — only addons.mozilla.org, and only while it is open.
Accounts and connections, mailbox size and archiving, rules and alerts, import and export. The update check asks the release page whether a newer version exists — only when you press it, or at startup if you turn that switch on. Nothing else on this page touches the network.
There is no service behind Mailbox. Not as a policy — there is nothing to send your mail to, and nothing to sign up for.
Your mail lives in a store on your machine and stays readable when the network does not. A rolling offline window per folder, or everything, as you prefer.
IMAP, POP3 and SMTP for mail; CalDAV and CardDAV for calendars, contacts, tasks and notes. Self-hosted servers and any provider that speaks them, equally.
Every message passes an unbypassable sanitizer before the rendering engine sees it. Remote images are blocked by default, and a report names the hosts that wanted to be fetched.
DKIM, SPF and DMARC results are shown on the message itself, with warnings for lookalike domains and display-name spoofing.
S/MIME and OpenPGP in both directions — signing, encryption, protected headers, key generation, WKD lookup — and shipped disabled, so nothing cryptographic happens until you turn it on.
Credentials go to the desktop keyring over Secret Service, never into a file. Everything else stores under the XDG directories where you would expect to find it.
The packaged launcher runs the application in a hardened transient systemd user unit: read-only outside its own data directories, no new privileges, an empty capability set and a syscall allow-list — with every deliberate exception documented beside the property it relaxes.
The one thing that would call home is the update check, and it is off unless you turn it on.
The wiki's Hardening page walks through each layer with pointers into the code and checks you can run yourself.
The usual failure of themeable applications is holes — a compose window or a settings page the theme cannot reach. Every surface in Mailbox takes its colour from a named token rather than a literal, and a coverage gate refuses to load a theme that is missing one.
.xpi, a zip or a bare
manifest.json — and everything a browser says that a mail client cannot
use is listed honestly rather than guessed at.
And the rule underneath all of it: choosing a built-in theme is always a complete return to stock. No import, palette, edit or background can leave residue on Colorful, White, Dark Gray or Black — an invariant the test suite enforces.
Maildir in three layouts, mbox, .eml, .msg, read-only
.pst archives, and whole Thunderbird profiles — including filters,
translated into rules.
Every message is kept as the RFC 822 bytes it arrived as, so mbox and
.eml leave with nothing lost — plus .ics and
.vcf for the other modules.
Notifications with Reply, Delete and Mark Read; a tray icon with an unread badge;
autostart and start-minimised; mailto: handling, single-instance
activation, MIME associations and Print to PDF.
Three toolbar modes over a layout you can rearrange, every action a named rebindable command with conflict detection, adjustable density, HiDPI including fractional scaling, and a plugin host with a versioned API.
Every release ships a .deb and a self-contained tarball; the AUR package
repackages the tarball for Arch.
Built and tested against Debian 13 in a clean container on every release.
# from the release page
sudo apt install ./Mailbox.deb
From the AUR, repackaged from the same release tarball.
yay -S mailbox-bin
Self-contained. Runs from wherever you extract it, no installation required.
tar -xzf Mailbox-<ver>-linux-x64.tar.gz
./Mailbox/mailbox
WPE WebKit (libwpewebkit-2.0-1 / wpewebkit), libwpe and
WPEBackend-fdo, X11 or Wayland, and fontconfig. Recommended:
secret-tool (libsecret) for the keyring, notify-send
(libnotify) for notifications, Hunspell dictionaries for spelling, and a desktop
portal — with GTK 3 as the fallback — for the file dialogs.
Mailbox renders received mail at the metrics the sender intended by substituting metric-compatible typefaces. Install these so common business fonts lay out correctly. Proprietary fonts are detected and preferred when you already have them; they are never shipped, because they are not redistributable.
# Arch sudo pacman -S --needed ttf-carlito ttf-caladea ttf-liberation gsfonts # Debian / Ubuntu sudo apt install fonts-crosextra-carlito fonts-crosextra-caladea \ fonts-liberation2 fonts-urw-base35
The .NET 10 SDK is all it takes.
git clone https://github.com/codingncaffeine/Mailbox cd Mailbox dotnet run --project src/Mailbox.App