A fast, modern mail and calendar suite for Linux, written in Rust.
Katna Mail, Katna Calendar and a small background service, made to feel at
home on KDE Plasma and GNOME. An alternative to KDE PIM.
Warning
Katna is at a very early stage of development. Please do not use it in production, or for any mail you cannot afford to lose. It changes every day and will break often; an update can undo what worked the day before. There are no versioned releases yet. If you try it anyway, use it with great caution, on an account you can spare, and keep your own backups.
For about ten years, KMail was the mail app I loved most. It looked native on my desktop and I could shape it exactly the way I wanted. But it kept breaking for me, and it still does today. I tried Thunderbird, but its mail search never found what I was looking for. Then I tried Mailspring, which looks lovely and works well, but it never fitted into KDE and it is very large.
What I really love is Gmail: its interface and how easy it is to use. I just don't want my mail to live in a web page; I want a desktop app that also works offline. No app gave me all of that, so I set out to build one.
Katna Mail is not trying to be unique or revolutionary. It is a very personal project: the mail client I wanted on my own Linux desktop. Its features and look are openly borrowed from the mail apps I love, mainly Gmail, Mailspring and Thunderbird, and rebuilt in Rust with Katna's own name and icons. KMail, Thunderbird and Mailspring are made by people who have given a lot to free software, and Katna owes each of them a great deal.
Katna has only been possible because of how far LLMs (large language models) have come. They turned a full mail client, long the work of a whole team, into something one person can build with care. I still design every screen, check it pixel by pixel and use Katna every day, on a real desktop with real mail.
— Mozammel
- Instant search. Typo-tolerant full-text search over very large mailboxes: across the 517,000 messages of the Enron corpus, a query takes 2.4 ms at the median and 9.7 ms at p99.
- Works when the window is closed.
katna-daemonsyncs, notifies and sends scheduled mail in the background, from a small binary. - Feels native. System colors and accent, tray icon with unread badge, KDE global menu, desktop notifications you can act on, and your KDE user picture as your own.
- Local-first and private. Your mail stays on your machine, remote
content is blocked by default, passwords live in your keyring, and TLS is
pure Rust (
rustls).
One window for mail, calendar, contacts, tasks and notes, on every screen size, in light and dark. Desktop is shown above; the rest below. Every screenshot uses made-up demo data.
- Accounts: IMAP (IDLE, QRESYNC, labels), POP3 and SMTP, with server autodiscovery. Gmail categories, Important and duplicate copies are handled. Message bodies download when you open them if they are not stored yet.
- List and reader: conversations, category tabs, stars, Important, pins, attachment chips, hover actions, Undo toasts, and a clean reading pane with HTML mail (dark mode included) and sender logos.
- Compose: rich text, signatures, inline reply, a pop-out window, scheduled send and undo send.
- Encrypted mail: OpenPGP and S/MIME through your own GnuPG.
- Attachments: previews on cards, a built-in viewer, Save all, and "Open with" any installed app, with a default app per file type.
- Your desktop: tray icon, unread badge, global menu, notifications with Reply all, Mark read and Archive, light and dark themes, optional own window frame with blur (Experimental).
- Calendar: day, week, month and year views, events from Google, Microsoft and CalDAV accounts or on this computer, repeating events, invitations answered from the reader, and events in the Plasma clock.
- Contacts: synced from Google, Microsoft and CardDAV, with labels, birthdays in the calendar, merge and fix, import, export and print.
- Tasks: Google Tasks, Microsoft To Do and CalDAV lists, with due dates, reminders, repeats and stars.
- Notes: notes in Google Keep's look, kept in each account's Notes folder so they also show in Apple Notes and Thunderbird.
- Any screen size: desktop, tablet and phone layouts in one app.
- Settings for accounts, signatures, keyboard shortcuts, default apps and more, plus a short onboarding for new users.
katnactl: add accounts and drive the daemon from a terminal.
See the implementation plan.
Please read the warning at the top of this page first: Katna is not ready for everyday use yet.
CI builds a package on every push to main and publishes it on the
arch-latest
pre-release, which is also a pacman repository. Add it to
/etc/pacman.conf:
[katna]
SigLevel = Optional TrustAll
Server = https://github.com/QuakeString/katna/releases/download/arch-latestThen install:
sudo pacman -Syu katna-gitOpen Katna Mail once. From then on Katna starts at every login, quietly: mail syncs and new-mail notifications and the tray icon come up without the window (Settings > General > Desktop turns that off).
To update later:
sudo pacman -Syu
systemctl --user restart katna-daemonThe package is x86_64 only and not signed yet. Passwords are kept in the Secret Service, so GNOME Keyring, KWallet or KeePassXC must be running. More in packaging/README.md, including building the package yourself.
Flatpak, .deb, .rpm and more are planned. Until then, build from source.
cargo build --workspace
cargo test --workspaceRust: the latest stable, installed automatically by rustup from
rust-toolchain.toml. For local IMAP, SMTP and CalDAV test servers, see
dev/README.md.
- Architecture: what we build and why.
- Implementation plan: phases and progress.
- Packaging: the Arch package and installed files.
Katna would not exist without these projects and the people behind them.
- GPUI and the Zed project: Katna Mail's whole interface is built on GPUI, the fast, GPU-accelerated UI framework that Zed Industries made for the Zed editor. Every pixel, animation and window you see is drawn by it. Thank you, Zed team, for building it in the open.
- Pimalaya: the mail protocols under the
hood.
io-imap,io-smtpandio-saslspeak to your mail servers, on top ofimap-codecfor IMAP parsing. - Main crates: Tantivy (search), rusqlite (storage), futures-rustls (TLS), mail-parser (MIME), html5ever (HTML mail), zbus and ashpd (D-Bus and portals), oo7 (Secret Service), hayro and krilla (PDF view and print), calamine (spreadsheets), resvg (SVG), jiff (dates and time zones), spellbook (spell checking) and smol (async). Under them, SQLite stores your mail and rustls keeps your connections safe.
- Color schemes: the built-in schemes take their palettes from Nord, Solarized, Dracula, Gruvbox, Catppuccin, Tokyo Night, One, Rosé Pine, Everforest, Kanagawa and Ayu, all MIT-licensed. Clear follows Apple's system colors.
CREDITS.md lists every library Katna uses, with its
authors, license and link. It is generated from Cargo.lock by
ci/gen-credits.sh, together with docs/credits.json
for the app's About dialog.
With love for Rust 🦀, which makes a fast
and safe mail client a joy to write (Katna has no unsafe code), for
KDE, whose Plasma desktop and PIM suite inspired
Katna, and for Linux and the free software
community that builds it. 🐧
💙 Support KDE. KDE builds the desktop Katna feels most at home on, and it is made by volunteers and funded by people like you. If you enjoy Plasma or KDE's apps, please consider donating to KDE.
Katna is free software, built in the open. If it helps you, a coffee keeps it going.
- ⭐ Star the repository and report issues.
- Follow the author, Mozammel: GitHub · X · LinkedIn
Katna is licensed under the GNU General Public License, version 3 or later (GPL-3.0-or-later). See LICENSE.









