CLI to manage emails
Go to file
Robert Günzler 5a2d7fa6b5
always reset colors settings on the output stream after writing (#375)
This is according to:
https://docs.rs/termcolor/1.1.2/termcolor/#example-using-standardstream
Not resetting the color settings on the stream will leak the style to
the shell otherwise.
This can be observed when listing mailboxes prior to this patch.

Signed-off-by: Robert Günzler <r@gnzler.io>

Co-authored-by: Clément DOUIN <soywod@users.noreply.github.com>
2022-05-07 22:54:49 +02:00
.github fix typo in gh action workflow test 2022-03-04 14:51:06 +01:00
.vscode add nix support (#76) 2021-04-18 00:06:11 +02:00
assets release v0.5.2 (#282) 2022-02-02 02:21:35 +01:00
cli always reset colors settings on the output stream after writing (#375) 2022-05-07 22:54:49 +02:00
lib use cargo workspace feature (#340) 2022-03-16 09:57:24 +01:00
tests fix listings json api (#331) and maildir e2e tests (#335) 2022-03-12 00:33:50 +01:00
vim use cargo workspace feature (#340) 2022-03-16 09:57:24 +01:00
.gitignore use cargo workspace feature (#340) 2022-03-16 09:57:24 +01:00
Cargo.lock prepare release v0.5.10 2022-03-20 21:19:45 +01:00
Cargo.toml use cargo workspace feature (#340) 2022-03-16 09:57:24 +01:00
CHANGELOG.md prepare release v0.5.10 2022-03-20 21:19:45 +01:00
CONTRIBUTING.md release v0.5.5 (#290) 2022-02-08 14:50:09 +01:00
default.nix refactor msg model (#173) 2021-09-11 00:35:22 +02:00
flake.lock release v0.5.2 (#282) 2022-02-02 02:21:35 +01:00
flake.nix use cargo workspace feature (#340) 2022-03-16 09:57:24 +01:00
install.sh fix install.sh bin name 2021-05-08 22:52:43 +02:00
LICENSE release v0.5.4 (#285) 2022-02-05 00:29:57 +01:00
README.md update readme features section 2022-03-04 09:46:17 +01:00
rustfmt.toml fix maildir expansion (#307) 2022-02-23 23:24:17 +01:00
shell.nix refactor msg model (#173) 2021-09-11 00:35:22 +02:00

📫 Himalaya

Command-line interface for email management

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

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

homebrew crates

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 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

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

Credits