Himalaya is a CLI tool to manage emails across multiple protocols and backends.
The tool solves the problem of accessing email from the command line by providing a unified interface that works with diverse email systems. It abstracts common operations like mailbox management, message handling, and attachment access through a shared API, while also exposing protocol-specific capabilities for advanced use. The project supports IMAP, SMTP, ManageSieve, JMAP, Gmail's REST API, and Microsoft Graph, alongside local storage formats including Maildir, m2dir, and pimdir. Authentication options span simple methods like login and plain text through to OAuth bearer tokens and SCRAM-SHA-256, with TLS encryption available via Rustls or native system libraries. Discovery mechanisms including PACC, Thunderbird autoconfiguration, SRV DNS lookups, and JMAP session resolution help users connect without manual configuration. The tool outputs results as JSON and supports SOCKS5 and HTTP proxies.
Himalaya suits developers and power users who prefer terminal-based email workflows and need to integrate email operations into scripts or automation. It works well for multi-account setups through TOML configuration and for environments where a graphical client is impractical. The project's modular design using Rust cargo features means you can build with only the backends you need, reducing binary size and dependencies.
The project maintains active development with regular updates to its core functionality and backend support. Contributions are welcomed through a documented process, and the maintainers engage with users via Matrix chat and Mastodon. The codebase includes an explicit AI policy governing how the project handles machine-generated contributions.