Clément DOUIN b7d068c729 improve folder struct + msg management (#217)
* make imap list and search return msg instead of fetch

* move imap logouts to main fn

* improve list command

* improve search command

* improve flags command

* improve template reply

* improve tpl forward command

* refactor tpl and msg reply/forward

* refactor copy, move and write commands

* refactor attachment command

* fix attachment part of copy and move commands

* fix send, save, read and mbox

* put back notify and watch commands

* fix msg encoding

* refactor edit choices, clean dead code

* fix attachment for write, reply and forward commands

* refactor config mod struct

* refactor project folder struct

* fix vim plugin (#215)
2021-10-10 22:58:57 +02:00
2021-09-11 00:35:22 +02:00
2021-04-18 00:06:11 +02:00
2021-06-03 15:33:25 +02:00
2021-09-14 00:34:34 +02:00
2021-09-11 00:50:58 +02:00
2021-04-18 00:06:11 +02:00
2021-04-04 15:32:11 +02:00
2021-09-11 00:35:22 +02:00
2021-08-03 15:15:38 +02:00
2021-05-08 22:52:43 +02:00
2021-01-17 17:07:23 +01:00
2021-07-01 10:27:22 +02:00
2021-09-11 00:35:22 +02:00
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

Languages
Rust 98.9%
Nix 0.8%
Shell 0.3%