mirror of
https://github.com/soywod/himalaya.git
synced 2024-11-21 18:40:19 +00:00
CLI to manage emails
585fa77af5
* update main screenshot readme * add contributing file * update changelog * doc: remove roadmap from reame * improve main comments * improve arg and handler logs * fix multiple recipients issue (#288) * add notify-query config option (#289) * set up end-to-end encryption (#287) * init basic pgp encrypt/decrypt * add small rpgp poc for (#286) * improve decrypt parts logs * add pgp-decrypt-cmd to config * add pgp-encrypt-cmd to config * init pgp signature * improve decrypt part readability * improve encrypt multipart, remove sign * remove unused md5 lib * add encrypt arg to reply and forward commands * fix typos * prepare v0.5.5 |
||
---|---|---|
.github | ||
.vscode | ||
assets | ||
src | ||
tests | ||
vim | ||
.gitignore | ||
Cargo.lock | ||
Cargo.toml | ||
CHANGELOG.md | ||
CONTRIBUTING.md | ||
default.nix | ||
flake.lock | ||
flake.nix | ||
install.sh | ||
LICENSE | ||
README.md | ||
rustfmt.toml | ||
shell.nix |
📫 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 = "your.email@gmail.com"
imap-host = "imap.gmail.com"
imap-port = 993
imap-login = "your.email@gmail.com"
imap-passwd-cmd = "pass show gmail"
smtp-host = "smtp.gmail.com"
smtp-port = 465
smtp-login = "your.email@gmail.com"
smtp-passwd-cmd = "security find-internet-password -gs gmail -w"
See the wiki for all the options.
Features
- Mailbox listing
- Email listing and filtering
- Email composition based on
$EDITOR
- Email manipulation (copy/move/delete)
- Multi-accounting
- IDLE mode for real-time notifications
- Vim plugin
- Completions for bash/zsh/fish
- 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