Rusty Inbox.
A fast, native email client — Rust engine, Qt 6 interface
Rusty Inbox is a free, open-source email client for Linux, Windows and macOS that I designed and built. The whole mail engine is native Rust and the interface is Qt Quick, so the window opens in a fraction of a second and stays light on memory. It sorts your inbox into people, notifications and newsletters, and every action works from the keyboard.
Watch it in action
Screenshots






What it does
Smart Inbox
Mail from people comes first. Notifications, newsletters and invitations go into their own groups, which you can fold away.
Unified mailboxes
Every account in one inbox, with per-account Sent, Drafts and Done when you need them.
Undo Send & Send Later
Messages wait in a local outbox, so you can take them back. A failed send retries by itself and stays under Scheduled.
Drafts that sync
Drafts save while you type and appear in your provider's Drafts folder; sent mail is filed in Sent and replies are flagged as answered.
Done, Snooze, Pin, bulk actions
Select all or a range and act at once. Every action has undo.
Keyboard first
J/K to move, E for Done, S to snooze, R/A/F to reply, reply all and forward, C to compose, Ctrl+Enter to send.
Desktop native
Tray icon with an unread dot, desktop notifications, mailto: links, a single running instance and live theming (Omarchy themes included).
Import from Thunderbird
Accounts, servers and saved passwords come over in one click when the profile has no primary password.
Local and private
Mail is cached in SQLite on your machine. No accounts, analytics, crash reporting or cloud relay. It talks only to your mail servers.
How it is built
Two layers that never wait on each other. The engine runs inside the app on a small Tokio runtime; the interface reads anything already stored instantly and receives network results as Qt signals, so scrolling and typing never block on the network. IMAP connections are pooled per account, which keeps servers that throttle frequent logins happy.
- 01QMLInterface — every screen (inbox, reader, composer, settings) in Qt Quick / QML, driven through cxx-qt.
- 02bridge.rsOne QObject between QML and Rust: synchronous getters for anything already stored, Qt signals for network results.
- 03corerusty-inbox-core — IMAP sync (async-imap + rustls), SMTP (lettre), MIME parsing, drafts, replies, Thunderbird import. No UI code.
- 04SQLiteLocal cache of threads, messages, outbox and settings, so the window opens on stored mail instantly.
Install
Packages
- Linux: AppImage and Flatpak bundle
- Arch Linux: the rusty-inbox package (AUR)
- Windows 10/11: installer or portable zip
- macOS 12+: .dmg for Apple Silicon and Intel
Build from source
Needs Rust 1.85+ and Qt 6.8+ with Qt Quick, Quick Controls 2 and Qt WebEngine.
git clone https://github.com/karem505/rusty-inbox && cd rusty-inbox
cargo build --release
./target/release/rusty-inboxAdding Gmail? Create an app password in your Google account and use it as the password. Coming from Thunderbird? Choose Import from Thunderbird.
How I built a native email client with Rust and Qt
The architecture, the decisions that kept it fast, and what I learned shipping one codebase to three operating systems.
Frequently asked questions
What is Rusty Inbox?
Rusty Inbox is a free, open-source desktop email client for Linux, Windows and macOS, built by Abo-Elmakarem Shohoud. Its mail engine is written in Rust and its interface in Qt 6 / QML, so it starts fast and stays light on memory. It works with any IMAP/SMTP account.
Is Rusty Inbox free and open source?
Yes. The full source is on GitHub under your choice of the MIT or Apache 2.0 license. There is no paid tier and no account to create.
Does it work with Gmail and Outlook?
It works with any provider that offers IMAP and SMTP: Gmail (sign in with an app password), Fastmail, iCloud, Yahoo, cPanel hosting and standard mail servers. Most providers are detected from the address alone.
Is it a good Thunderbird alternative?
It is built for people who want a faster, keyboard-first inbox. You can bring your Thunderbird accounts over in one click: servers, accounts and saved passwords are imported, as long as the profile has no primary password.
How is it different from Electron mail apps?
The interface is Qt Quick drawn natively, not a web app inside a bundled browser, and all mail logic runs in compiled Rust. A web view is used only to display HTML message bodies, isolated and with scripts disabled.
Does Rusty Inbox collect any data?
No. It has no analytics, no crash reporting and no servers of its own. Mail, settings and passwords stay in your data directory and the app connects only to the mail servers you add.
Built by Abo-Elmakarem Shohoud, CTO and full-stack engineer in Cairo. I build fast, native internal tools and automate how companies work — see digital transformation consulting.