himalaya/README.md

97 lines
3.6 KiB
Markdown
Raw Normal View History

2021-04-28 16:57:27 +00:00
# 📫 Himalaya [![gh-actions](https://github.com/soywod/himalaya/workflows/deployment/badge.svg)](https://github.com/soywod/himalaya/actions?query=workflow%3Adeployment) [![gh-actions](https://github.com/soywod/himalaya/workflows/tests/badge.svg)](https://github.com/soywod/himalaya/actions?query=workflow%3Atests) [![gh-actions](https://github.com/soywod/himalaya/workflows/nix-build/badge.svg)](https://github.com/soywod/himalaya/actions?query=workflow%3Anix-build)
2020-12-24 23:36:24 +00:00
CLI email client written in Rust.
2021-01-02 23:49:51 +00:00
*The project is under active development. Do not use in production before the
2021-04-17 22:29:45 +00:00
`v1.0.0` (see the [roadmap](https://github.com/soywod/himalaya/milestone/5)).*
2021-04-27 23:06:39 +00:00
![image](https://user-images.githubusercontent.com/10437171/115144003-8a1b4880-a04a-11eb-80d2-245027e28591.png)
2021-01-17 15:03:38 +00:00
## Motivation
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
2021-03-10 22:08:31 +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
```sh
# 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
2021-01-17 15:03:38 +00:00
```
*See the [wiki](https://github.com/soywod/himalaya/wiki) for other installation
methods.*
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"
signature = """
--
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"
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
```
*See the
[wiki](https://github.com/soywod/himalaya/wiki/Configuration:config-file) for
all the options.*
2021-04-03 10:02:36 +00:00
## Features
2021-04-03 10:02:36 +00:00
- 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
-
2021-04-03 10:02:36 +00:00
*See the [wiki](https://github.com/soywod/himalaya/wiki) 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-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
2021-03-10 22:08:31 +00:00
- [isync](https://isync.sourceforge.io/), an email synchronizer for offline usage
- [NeoMutt](https://neomutt.org/), an email terminal user interface
- [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
- [rust-imap](https://github.com/jonhoo/rust-imap), a rust IMAP lib