Skip to content
QuakeStringPublic

About

A fast, local-first mail app for Linux, written in Rust, with a Gmail-style look and KDE and GNOME integration. Calendar coming later.

Topics

Resources

Stars

2 stars

Watchers

0 watching

Forks

Repository files navigation

Katna Mail logo

Katna

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.

CI Arch package Downloads License: GPL-3.0-or-later

Buy me a coffee Follow @QuakeString on X Connect on LinkedIn

Katna Mail on a desktop-sized window, half in the light theme and half in the dark theme, with a conversation open beside the list

Why I built Katna

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

Highlights

  • 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-daemon syncs, 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).

Katna Mail today

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.

The tablet layout, half light and half dark, with a conversation open beside the list The phone layout, half light and half dark, with pictures beside each line and a Compose button
Tablet: list and conversation side by side Phone: laid out like a phone app
An encrypted, signed message open beside the list A PDF attachment in the built-in viewer
Encrypted and signed mail Built-in viewer for PDFs, pictures, sheets and documents
The Calendar page, half light and half dark, with a week of events in three colored calendars and tasks above the days
Calendar: your week, with calendars grouped by account and tasks on their day
The Contacts page, half light and half dark, with starred contacts, labels and a list of people The Tasks page, half light and half dark, with two task lists side by side
Contacts, with labels and starred people Tasks, in lists with due dates and stars
Katna Mail on KDE Plasma with the global menu, taskbar count and tray badge
KDE global menu, taskbar count and tray badge
  • 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.

Coming next

See the implementation plan.

Install

Arch Linux

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-latest

Then install:

sudo pacman -Syu katna-git

Open 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-daemon

The 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.

Other distributions

Flatpak, .deb, .rpm and more are planned. Until then, build from source.

Build from source

cargo build --workspace
cargo test --workspace

Rust: the latest stable, installed automatically by rustup from rust-toolchain.toml. For local IMAP, SMTP and CalDAV test servers, see dev/README.md.

Learn more

Built with love, on the shoulders of giants

Katna would not exist without these projects and the people behind them.

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.

Support and follow

Katna is free software, built in the open. If it helps you, a coffee keeps it going.

Buy me a coffee

License

Katna is licensed under the GNU General Public License, version 3 or later (GPL-3.0-or-later). See LICENSE.

About

A fast, local-first mail app for Linux, written in Rust, with a Gmail-style look and KDE and GNOME integration. Calendar coming later.

Topics

Resources

Stars

2 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages