CLI to manage emails
Find a file
Matthias Beyer 62ac9aef2c
refactor msg matches (#151)
* Refactor msg_matches() impl into several functions

Signed-off-by: Matthias Beyer <mail@beyermatthias.de>

* Simplify impl of msg_matches()

Signed-off-by: Matthias Beyer <mail@beyermatthias.de>

* Refactor to use msg_matches_list() impl for default case as well

Signed-off-by: Matthias Beyer <mail@beyermatthias.de>

* Remove unidomatic return keyword

Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2021-05-23 12:04:37 +02:00
.github remove .exe from release (#144) 2021-05-08 22:32:50 +02:00
.vscode add nix support (#76) 2021-04-18 00:06:11 +02:00
src refactor msg matches (#151) 2021-05-23 12:04:37 +02:00
tests update docs+tests about idle command 2021-05-08 13:49:13 +02:00
vim fix vim help doc (#117) 2021-05-09 17:15:29 +02:00
wiki@5f3d7ed351 simplify wiki tips sidebar 2021-05-08 14:55:40 +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 update lettre to v0.10.0-rc.1 (#150) 2021-05-14 18:49:31 +02:00
Cargo.toml update lettre to v0.10.0-rc.1 (#150) 2021-05-14 18:49:31 +02:00
CHANGELOG.md fix vim help doc (#117) 2021-05-09 17:15:29 +02:00
default.nix add nix support (#76) 2021-04-18 00:06:11 +02:00
flake.lock add nix support (#76) 2021-04-18 00:06:11 +02:00
flake.nix refactor table system (#132) 2021-04-27 14:54:53 +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 github workflows badges in readme 2021-04-28 18:57:27 +02:00
shell.nix add nix support (#76) 2021-04-18 00:06:11 +02:00

📫 Himalaya gh-actions gh-actions gh-actions

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

Credits