A modern email client for GNOME.

Folders on the left, conversations in the middle, the message on the right. The layout you already know, rebuilt on GTK 4 and libadwaita. Nothing new to learn.

Free and open source. GPL-3.0. No account, no telemetry.

Postcard, a GNOME email client
Postcard on GNOME showing every account in one sidebar, the conversation list and the HTML reader

Features

Everything a mail client should do. Nothing it shouldn't.

One inbox, every account

All Inboxes puts new mail from every address in one list, and every account keeps its own folders under it in the sidebar. No switcher to remember, no going back and forth to find a mail.

Threaded conversations

Replies stack into one thread. Archive, trash, move, and undo it when you got the wrong one.

Search that answers now

Full text search across every account. The index sits on your disk, so there is no round trip to a server.

Reads offline

Mail is cached locally. The inbox opens on a train, on a plane, on hotel wifi that isn't.

Any IMAP or SMTP account

Gmail, Fastmail, Proton Bridge, your own server. Add as many as you want. Host and port are filled in from your address for the providers people actually use, and passwords go in the system keyring.

Trackers stay blocked

HTML mail renders in WebKit with remote images held back until you say so.

Drafts that don't vanish

Reply, forward, Cc and Bcc, signatures, rich text. Pick which of your addresses it goes out from, let addresses you have written to before autocomplete, and an Outbox holds the message until it really goes.

Leave a mailing list

Lists get a banner with an Unsubscribe button. Where the list supports it, Postcard sends the request itself, after telling you which host it is about to talk to.

Waits in the background

Postcard can start hidden at login, check on your sync interval and notify you when mail lands. The desktop portal writes the autostart entry, so there is no file to edit.

Sits in your tray

On KDE, Xfce and anywhere else with a status area, Postcard leaves an icon behind with the unread count on it. GNOME has no tray, so there it is a Background App instead.

Acts like a desktop app

A mailto: link opens the composer with the fields already filled. Attachments open in their default app, dates read like "2h ago", and senders get an avatar.

Screenshots

Built to the GNOME HIG.

Adaptive layouts, boxed lists, real dialogs, and the system dark style everywhere. It fits your desktop because it is built the same way.

Composing a new message in Postcard with To, Cc, Bcc fields and a rich text toolbar
Compose. Rich text, attachments, Cc and Bcc, signature. The window narrows down to phone width.
Postcard picking up a Google account from GNOME Online Accounts, with no password to enter
Online Accounts. Signed in to Google under GNOME Settings? Postcard just uses it. No password prompt.
Postcard preferences dialog with notification, remote image and background sync settings
Preferences. A short list of switches. Notifications, remote images, sync interval.
The Postcard reader showing a mailing list banner with an Unsubscribe button, and the dialog naming the host the request goes to
One click unsubscribe. A newsletter gets a banner across the top of the message. Press the button and Postcard says which host it is about to ask, then asks for you.

Under the hood

Boring on purpose.

Every choice here is the dull one. Python and its standard library, SQLite on disk, the widgets libadwaita already ships. No rewrite in C to prove a point.

A mail client has to still work in five years, on a machine nobody has touched. Boring tools are how that happens, and how a stranger can read the code in an afternoon and fix something.

Pick the boring language.
Ship the boring solution.
Read your own mail.
Python + stdlib

imaplib and smtplib, not a homegrown protocol stack

SQLite

One file. Everyone already knows how it fails

libadwaita widgets

No custom controls to maintain forever

Flatpak only

One build target, the same on every distro

Install · v1.11.1

Two ways in. Pick one.

Postcard ships as a Flatpak straight from its GitHub releases. It is not on Flathub. You need Flatpak, which most GNOME distros already have.

Recommended

Download and open it

You get a small file called postcard.flatpakref. Open it once it lands and GNOME Software takes over, or whatever app centre your desktop uses. Look it over, hit Install, done.

Download Postcard

Open it from your browser downloads, or find it in Files and double click.

Terminal

One command

Same package, no clicking. Works over SSH too.

flatpak install --from https://github.com/gxanshu/postcard/releases/latest/download/postcard.flatpakref

After the first install Postcard shows up in your app grid like anything else, and flatpak update keeps it current. Browse all releases →

Before you install

Written in the open, awkward parts included.

Postcard is under heavy development. It has bugs and rough edges. A bug report is the fastest way to get them fixed.

AI tools help me type this code. That is written in the README rather than hidden away. The architecture, the review and the responsibility are mine, and every line was read before it shipped. Read the source and judge for yourself.

Postcard is free and always will be. If it saves you time, sponsoring keeps the work going.

LicenceGPL-3.0-or-later
StackGTK 4 · libadwaita · Python
HTML mailWebKitGTK
Credentialslibsecret keyring
Search indexSQLite FTS5

Questions people actually ask

Is Postcard on Flathub?

No. It installs as a Flatpak from the project's GitHub releases, and flatpak update keeps it current like any other app.

Does it work outside GNOME?

Yes. KDE, Xfce, anywhere Flatpak runs, with a tray icon and unread badge on the desktops that have a status area. GNOME just fits best, because Online Accounts, notifications, the keyring and the dark style all come for free.

Which mail providers work?

Anything with IMAP and SMTP. Gmail, Fastmail, Zoho, Proton Mail Bridge, a mailbox on your own server. A Google account already in GNOME Settings is picked up without a password.

What does it cost?

Nothing. GPL-3.0-or-later, no account to make, no telemetry. Your mail stays on your machine and your server.

Can it start with my session?

Yes. Turn on Keep running in the background and Start at Login in Preferences. Postcard comes up with no window, checks on your sync interval, and notifies you when mail arrives. Click the notification to open it.

Is it ready for my main inbox?

I read my own mail in it every day, but it is still early. Keep your old client around for a week or two and file anything that breaks.

Give your inbox a native home.

One click, about thirty seconds, and it is in your app grid.

Download Postcard v1.11.1