# Himalaya — CLI Email Client Written in Rust > A terminal-based email client that supports IMAP, SMTP, Notmuch, and Maildir backends. Offers email listing, reading, writing, and management with PGP encryption support, all from the command line. ## Install Save in your project root: # Himalaya — CLI Email Client Written in Rust ## Quick Use ```bash # Install via Homebrew brew install himalaya # Or via Cargo cargo install himalaya # Configure your account himalaya account configure # List recent emails himalaya envelope list ``` ## Introduction Himalaya is a command-line email client built in Rust that brings full email management to the terminal. It supports multiple backends and provides a scriptable interface for reading, writing, and organizing email. ## What Himalaya Does - Lists, reads, and searches emails from the terminal - Composes and sends emails with attachment support - Manages folders and moves or copies messages between them - Supports multiple email accounts with different backends - Provides PGP encryption and signing via GPG integration ## Architecture Overview Himalaya is built on top of the Pimalaya email libraries, which provide backend-agnostic email operations. The CLI layer parses commands and delegates to backend implementations for IMAP, SMTP, Notmuch, Maildir, and sendmail. Configuration is stored in a TOML file. The Rust implementation ensures fast startup and low memory usage. ## Self-Hosting & Configuration - Install via Homebrew, Cargo, AUR, Nix, or prebuilt binaries - Configuration file lives at `~/.config/himalaya/config.toml` - Each account section defines the backend (IMAP, Notmuch, or Maildir) - SMTP or sendmail is configured for outgoing mail - OAuth2 authentication is supported for Gmail and Outlook ## Key Features - Multiple backend support: IMAP, Notmuch, Maildir, and sendmail - PGP encryption and signing through native GPG integration - Vim and Emacs integration plugins for composing emails in your editor - JSON output mode for scripting and automation pipelines - Multi-account management in a single configuration file ## Comparison with Similar Tools - **mutt/neomutt** — C-based TUI email client; Himalaya is Rust-based and more scriptable as a CLI - **aerc** — Go-based terminal email client; Himalaya focuses on CLI commands over a persistent TUI - **Thunderbird** — GUI email client; Himalaya is fully terminal-native - **notmuch** — email indexer and search; Himalaya uses Notmuch as one of its backends - **mailx/mail** — basic Unix mail; Himalaya adds modern features like OAuth2 and PGP ## FAQ **Q: Does Himalaya support Gmail?** A: Yes. It supports Gmail via IMAP/SMTP with OAuth2 authentication. **Q: Can I use my preferred text editor for composing?** A: Yes. Himalaya opens your $EDITOR for composing emails. Vim and Emacs plugins add extra integration. **Q: Does it support HTML emails?** A: It renders HTML emails as plain text in the terminal. You can pipe HTML to a browser for full rendering. **Q: Is there a TUI mode?** A: Himalaya is primarily a CLI tool. For a TUI experience, consider pairing it with a wrapper or using the Vim/Emacs plugins. ## Sources - https://github.com/pimalaya/himalaya - https://pimalaya.org/himalaya/ --- Source: https://tokrepo.com/en/workflows/asset-2e9d95da Author: AI Open Source