Veem

A clean, fast, GNOME-native email client.

  • Apps & Tools
  • Rust
Veem screenshot

Veem is a clean, fast, GNOME-native email client with a calm three-pane layout, a unified inbox, and first-class OAuth support. It's built in Rust with GTK 4 and libadwaita, so it looks and feels like a first-party GNOME app — fast to open, effortless to read, and private by default. Your mail and credentials stay on your machine: no accounts, no telemetry, no cloud middleman.

Features

  • Multiple accounts over IMAP and POP3, with a unified inbox across all of them
  • OAuth 2.0 sign-in for Google and Microsoft 365, plus GNOME Online Accounts integration and classic password auth
  • Real-time updates with IMAP IDLE push, background indexing, and two-way sync with automatic reconciliation
  • Conversation threading, HTML signatures, drafts, and folder management
  • Full-text search across your mailboxes with infinite scroll
  • Contacts integration with GNOME Contacts and recipient autocomplete
  • Personal touches — per-account accent colors and emoji avatars, optional Gravatar avatars
  • Native GNOME feel — adaptive three-pane layout, Wayland-first, light/dark to match your system theme

Privacy & security

  • No telemetry, no analytics — nothing phones home
  • Remote content blocked by default to defeat tracking pixels, with per-sender allow/block lists
  • Credentials live in the system keyring, never in plaintext

Tech stack

Rust · GTK 4 · libadwaita · WebKitGTK 6. Credentials are stored in the system keyring.

Install

Flatpak

Veem is available on getveem.com as a Flatpak for easy installation

Build from source

Install the GTK 4, libadwaita and WebKitGTK development libraries for your distribution first:

# Fedora
sudo dnf install gtk4-devel libadwaita-devel webkitgtk6.0-devel

# Debian / Ubuntu
sudo apt install libgtk-4-dev libadwaita-1-dev libwebkitgtk-6.0-dev

Then build and install:

git clone https://github.com/hyprlab/veem.git
cd veem
cargo build --release
./install.sh

The install script places the binary, icon and .desktop file under ~/.local.

OAuth setup

Accounts are added from Settings → Accounts. Plain IMAP/SMTP needs only your server details and an app password. Microsoft OAuth works out of the box. Google requires GNOME Online Accounts, or a custom OAuth client in ~/.config/veem/oauth.toml:

[google]
client_id = "your-client-id.apps.googleusercontent.com"
client_secret = "your-client-secret"

[microsoft]
client_id = "your-azure-application-client-id"

The VEEM_GOOGLE_CLIENT_ID, VEEM_GOOGLE_CLIENT_SECRET and VEEM_MICROSOFT_CLIENT_ID environment variables are supported too.

License

Free and open source under the GNU AGPL-3.0-or-later. Website: getveem.com · Source and releases on GitHub.