CLI to manage emails
Find a file
Clément DOUIN 192445d7e4
make use of termcolor crate to disable colors (#236)
* table: replace custom color by termcolor

* table: deactivate colors if not tty

* table: rename printable to print, add more comments

* table: make use of writters, fix tests

* doc: update changelog

* doc: add page to wiki
2021-10-24 00:17:12 +02:00
.github refactor msg model (#173) 2021-09-11 00:35:22 +02:00
.vscode add nix support (#76) 2021-04-18 00:06:11 +02:00
assets add .desktop file (#161) 2021-06-03 15:33:25 +02:00
src make use of termcolor crate to disable colors (#236) 2021-10-24 00:17:12 +02:00
tests refactor config and account system 2021-09-14 00:34:34 +02:00
vim delete vim read buffers on list msgs (#224) 2021-10-14 14:04:52 +02:00
wiki@8cf79989fa make use of termcolor crate to disable colors (#236) 2021-10-24 00:17:12 +02:00
.gitignore add nix support (#76) 2021-04-18 00:06:11 +02:00
.gitmodules import wiki as submodule 2021-04-04 15:32:11 +02:00
Cargo.lock make use of termcolor crate to disable colors (#236) 2021-10-24 00:17:12 +02:00
Cargo.toml make use of termcolor crate to disable colors (#236) 2021-10-24 00:17:12 +02:00
CHANGELOG.md make use of termcolor crate to disable colors (#236) 2021-10-24 00:17:12 +02:00
default.nix refactor msg model (#173) 2021-09-11 00:35:22 +02:00
flake.lock fix vim plugin + update flake references (#182) 2021-08-03 15:11:52 +02:00
flake.nix remove extra version (#183) 2021-08-03 15:15:38 +02:00
install.sh fix install.sh bin name 2021-05-08 22:52:43 +02:00
LICENSE improve readme 2021-01-17 17:07:23 +01:00
README.md add homebrew release badge (#165) 2021-07-01 10:27:22 +02:00
rustfmt.toml refactor msg model (#173) 2021-09-11 00:35:22 +02:00
shell.nix refactor msg model (#173) 2021-09-11 00:35:22 +02:00

📫 Himalaya

gh-actions gh-actions gh-actions Homebrew

CLI email client written in Rust.

The project is under active development. Do not use in production before the v1.0.0 (see the roadmap).

image

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

# As root:
curl -sSL https://raw.githubusercontent.com/soywod/himalaya/master/install.sh | sudo sh

# As a regular user:
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 = """
--
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

github paypal ko-fi buy-me-a-coffee liberapay

Credits