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.