2021-07-01 08:27:22 +00:00
|
|
|
# 📫 Himalaya
|
2020-12-24 23:36:24 +00:00
|
|
|
|
2022-02-02 01:21:35 +00:00
|
|
|
Command-line interface for email management
|
2021-01-02 23:49:51 +00:00
|
|
|
|
2022-02-22 15:54:39 +00:00
|
|
|
*The project is under active development. Do not use in production
|
|
|
|
before the `v1.0.0`.*
|
2021-03-19 21:18:05 +00:00
|
|
|
|
2022-02-08 13:50:09 +00:00
|
|
|
![image](https://user-images.githubusercontent.com/10437171/138774902-7b9de5a3-93eb-44b0-8cfb-6d2e11e3b1aa.png)
|
2021-01-17 15:03:38 +00:00
|
|
|
|
|
|
|
## Motivation
|
|
|
|
|
2022-02-22 15:54:39 +00:00
|
|
|
Bringing emails to the terminal is a *pain*. First, because they are
|
|
|
|
sensitive data. Secondly, the existing TUIs
|
|
|
|
([Mutt](http://www.mutt.org/), [NeoMutt](https://neomutt.org/),
|
|
|
|
[Alpine](https://alpine.x10host.com/),
|
|
|
|
[aerc](https://aerc-mail.org/)…) are really hard to configure. They
|
|
|
|
require time and patience.
|
2021-01-17 15:03:38 +00:00
|
|
|
|
2022-02-22 15:54:39 +00:00
|
|
|
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!
|
2021-01-17 15:03:38 +00:00
|
|
|
|
|
|
|
## Installation
|
|
|
|
|
2022-02-03 23:23:02 +00:00
|
|
|
[![homebrew](https://img.shields.io/homebrew/v/himalaya?color=success&style=flat-square)](https://formulae.brew.sh/formula/himalaya)
|
|
|
|
[![crates](https://img.shields.io/crates/v/himalaya?color=success&style=flat-square)](https://crates.io/crates/himalaya)
|
2022-02-03 14:22:34 +00:00
|
|
|
|
2022-02-03 23:23:02 +00:00
|
|
|
```sh
|
2021-04-18 09:00:06 +00:00
|
|
|
curl -sSL https://raw.githubusercontent.com/soywod/himalaya/master/install.sh | PREFIX=~/.local sh
|
2021-01-17 15:03:38 +00:00
|
|
|
```
|
|
|
|
|
2022-02-22 15:54:39 +00:00
|
|
|
*See the
|
2022-02-23 10:03:51 +00:00
|
|
|
[wiki](https://github.com/soywod/himalaya/wiki/Installation:binary)
|
2022-02-22 15:54:39 +00:00
|
|
|
for other installation methods.*
|
2021-04-17 22:06:11 +00:00
|
|
|
|
2021-01-17 15:03:38 +00:00
|
|
|
## Configuration
|
|
|
|
|
|
|
|
```toml
|
|
|
|
# ~/.config/himalaya/config.toml
|
|
|
|
|
|
|
|
name = "Your full name"
|
2021-03-10 21:35:06 +00:00
|
|
|
downloads-dir = "/abs/path/to/downloads"
|
2021-04-20 09:23:03 +00:00
|
|
|
signature = """
|
2022-02-02 01:21:35 +00:00
|
|
|
Cordialement,
|
2021-04-20 09:23:03 +00:00
|
|
|
Regards,
|
|
|
|
"""
|
2021-01-17 15:03:38 +00:00
|
|
|
|
|
|
|
[gmail]
|
|
|
|
default = true
|
2021-03-11 23:07:01 +00:00
|
|
|
email = "your.email@gmail.com"
|
2021-01-17 15:03:38 +00:00
|
|
|
|
2021-03-10 21:35:06 +00:00
|
|
|
imap-host = "imap.gmail.com"
|
|
|
|
imap-port = 993
|
2021-03-11 23:07:01 +00:00
|
|
|
imap-login = "your.email@gmail.com"
|
2021-03-11 16:05:01 +00:00
|
|
|
imap-passwd-cmd = "pass show gmail"
|
2021-01-17 15:03:38 +00:00
|
|
|
|
2021-03-10 21:35:06 +00:00
|
|
|
smtp-host = "smtp.gmail.com"
|
2021-04-18 21:08:50 +00:00
|
|
|
smtp-port = 465
|
2021-03-11 23:07:01 +00:00
|
|
|
smtp-login = "your.email@gmail.com"
|
|
|
|
smtp-passwd-cmd = "security find-internet-password -gs gmail -w"
|
2021-01-17 15:03:38 +00:00
|
|
|
```
|
|
|
|
|
2022-02-22 15:54:39 +00:00
|
|
|
*See the
|
|
|
|
[wiki](https://github.com/soywod/himalaya/wiki/Configuration:config-file)
|
|
|
|
for all the options.*
|
2021-04-03 10:02:36 +00:00
|
|
|
|
2021-04-18 21:08:50 +00:00
|
|
|
## Features
|
2021-04-03 10:02:36 +00:00
|
|
|
|
2021-04-18 21:08:50 +00:00
|
|
|
- Mailbox listing
|
2022-03-04 08:46:17 +00:00
|
|
|
- Email listing and searching
|
2021-04-18 21:08:50 +00:00
|
|
|
- Email composition based on `$EDITOR`
|
|
|
|
- Email manipulation (copy/move/delete)
|
|
|
|
- Multi-accounting
|
2022-03-04 08:46:17 +00:00
|
|
|
- Account listing
|
|
|
|
- IMAP, Maildir and Notmuch support
|
|
|
|
- IMAP IDLE mode for real-time notifications
|
2022-02-22 15:54:39 +00:00
|
|
|
- PGP end-to-end encryption
|
2022-03-04 08:46:17 +00:00
|
|
|
- Vim and Emacs plugins
|
|
|
|
- Completions for various shells
|
2021-04-18 21:08:50 +00:00
|
|
|
- JSON output
|
|
|
|
- …
|
2021-04-03 10:02:36 +00:00
|
|
|
|
2022-02-22 15:54:39 +00:00
|
|
|
*See the
|
|
|
|
[wiki](https://github.com/soywod/himalaya/wiki/Usage:msg:list) for all
|
|
|
|
the features.*
|
2021-04-03 10:02:36 +00:00
|
|
|
|
2021-04-16 19:47:08 +00:00
|
|
|
## Sponsoring
|
|
|
|
|
|
|
|
[![github](https://img.shields.io/badge/-GitHub%20Sponsors-fafbfc?logo=GitHub%20Sponsors)](https://github.com/sponsors/soywod)
|
|
|
|
[![paypal](https://img.shields.io/badge/-PayPal-0079c1?logo=PayPal&logoColor=ffffff)](https://www.paypal.com/paypalme/soywod)
|
|
|
|
[![ko-fi](https://img.shields.io/badge/-Ko--fi-ff5e5a?logo=Ko-fi&logoColor=ffffff)](https://ko-fi.com/soywod)
|
|
|
|
[![buy-me-a-coffee](https://img.shields.io/badge/-Buy%20Me%20a%20Coffee-ffdd00?logo=Buy%20Me%20A%20Coffee&logoColor=000000)](https://www.buymeacoffee.com/soywod)
|
2021-05-30 22:02:16 +00:00
|
|
|
[![liberapay](https://img.shields.io/badge/-Liberapay-f6c915?logo=Liberapay&logoColor=222222)](https://liberapay.com/soywod)
|
2021-04-16 19:47:08 +00:00
|
|
|
|
2021-01-17 15:03:38 +00:00
|
|
|
## Credits
|
|
|
|
|
|
|
|
- [IMAP RFC3501](https://tools.ietf.org/html/rfc3501)
|
|
|
|
- [Iris](https://github.com/soywod/iris.vim), the himalaya predecessor
|
2022-02-22 15:54:39 +00:00
|
|
|
- [isync](https://isync.sourceforge.io/), an email synchronizer for
|
|
|
|
offline usage
|
2021-03-10 22:08:31 +00:00
|
|
|
- [NeoMutt](https://neomutt.org/), an email terminal user interface
|
2022-02-22 15:54:39 +00:00
|
|
|
- [Alpine](http://alpine.x10host.com/alpine/alpine-info/), an other
|
|
|
|
email terminal user interface
|
|
|
|
- [mutt-wizard](https://github.com/LukeSmithxyz/mutt-wizard), a tool
|
|
|
|
over NeoMutt and isync
|
2021-03-10 22:08:31 +00:00
|
|
|
- [rust-imap](https://github.com/jonhoo/rust-imap), a rust IMAP lib
|