himalaya
himalaya copied to clipboard
CLI to manage emails
Himalaya receives financial support from the NLnet foundation! π€―β¨π
See the discussion for more information.
π« Himalaya
Command-line interface for email management
The project is under active development. Do not use in production
before the v1.0.0
.
Motivation
Bringing emails to the terminal is a pain. First, because they are sensitive data. Secondly, the existing TUIs (Mutt, NeoMutt, Alpine, aercβ¦) are really hard to configure. They require time and patience.
The aim of Himalaya is to extract the email logic into a simple (yet solid) CLI API that can be used directly from the terminal, from scripts, from UIs⦠Possibilities are endless!
Installation
curl -sSL https://raw.githubusercontent.com/soywod/himalaya/master/install.sh | PREFIX=~/.local sh
See the wiki for other installation methods.
Configuration
# ~/.config/himalaya/config.toml
name = "Your full name"
downloads-dir = "/abs/path/to/downloads"
signature = """
Cordialement,
Regards,
"""
[gmail]
default = true
email = "[email protected]"
imap-host = "imap.gmail.com"
imap-port = 993
imap-login = "[email protected]"
imap-passwd-cmd = "pass show gmail"
smtp-host = "smtp.gmail.com"
smtp-port = 465
smtp-login = "[email protected]"
smtp-passwd-cmd = "security find-internet-password -gs gmail -w"
See the wiki for all the options.
Features
- Mailbox listing
- Email listing and searching
- Email composition based on
$EDITOR
- Email manipulation (copy/move/delete)
- Multi-accounting
- Account listing
- IMAP, Maildir and Notmuch support
- IMAP IDLE mode for real-time notifications
- PGP end-to-end encryption
- Vim and Emacs plugins
- Completions for various shells
- JSON output
- β¦
See the wiki for all the features.
Sponsoring
Credits
- IMAP RFC3501
- Iris, the himalaya predecessor
- isync, an email synchronizer for offline usage
- NeoMutt, an email terminal user interface
- Alpine, an other email terminal user interface
- mutt-wizard, a tool over NeoMutt and isync
- rust-imap, a rust IMAP lib