mirror of
https://github.com/soywod/himalaya.git
synced 2024-07-08 18:45:13 +00:00
* doc: fix blur in list msg screenshots (#181) * fix a typo in mbox arg (#245) `targetted` to `targeted` 👌🏻 * make inbox, sent and drafts folder customizable (#246) * mbox: make inbox, sent and drafts folder customizable * msg: update send handler parameters order * vim: fix extracting message ids from list (#247) The current method doesn't work because the list uses a fancy line character (`│`) as the separator, not a regular pipe character (`|`). Matching for the first number in the line instead solves the problem and will continue to work regardless of what separator is used. * add new line after printing strings (#251) * init cargo workspace (#252) * init cargo workspaces * nix: fix assets path * doc: update rtp vim plugin * vim: add error message if loading vim plugin from vim/ * init sub crates (#253) * init sub crates * doc: update readme * doc: improve main readme * doc: add links, add missing crate task * doc: update emojis * update cargo lock * implement contact completion with completefunc (#250) This allows users to define a command for contact completion with `g:himalaya_complete_contact_cmd` and trigger it with `<C-x><C-u>` when writing an email. * fix clippy lints (#255) * revert cargo workspace feature * fix nix run (#274) * replace cargo2nix by naersk * add rust-analyzer and rustfmt to nix build inputs * remove wiki from git submodules, update changelog * fix missing range when fetch fails, add more logs (#276) * add missing fix in changelog * remove blank lines and spaces from plain parts (#280) * fix watch command (#271) * remove also tabs from text parts (#280) * pin native-tls minor version (#278) * improve msg sanitization (#280) * fix mbox vim plugin telescope preview (#249) * bump version v0.5.2 * update changelog Co-authored-by: Austin Traver <austintraver@gmail.com> Co-authored-by: Jason Cox <dev@jasoncarloscox.com> Co-authored-by: Gökmen Görgen <gkmngrgn@gmail.com> Co-authored-by: Ethiraric <ethiraric@gmail.com>
100 lines
3.8 KiB
Markdown
100 lines
3.8 KiB
Markdown
# 📫 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)
|
|
[![Homebrew](https://img.shields.io/badge/dynamic/json.svg?url=https://formulae.brew.sh/api/formula/himalaya.json&query=$.versions.stable&label=homebrew)](https://formulae.brew.sh/formula/himalaya)
|
|
|
|
Command-line interface for email management
|
|
|
|
*The project is under active development. Do not use in production before the
|
|
`v1.0.0` (see the [roadmap](https://github.com/soywod/himalaya/milestone/5)).*
|
|
|
|
![image](https://user-images.githubusercontent.com/10437171/115144003-8a1b4880-a04a-11eb-80d2-245027e28591.png)
|
|
|
|
## 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.
|
|
|
|
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
|
|
|
|
```sh
|
|
curl -sSL https://raw.githubusercontent.com/soywod/himalaya/master/install.sh | PREFIX=~/.local sh
|
|
```
|
|
|
|
*See the
|
|
[wiki](https://github.com/soywod/himalaya/wiki/Installation:from-binary) for
|
|
other installation methods.*
|
|
|
|
## Configuration
|
|
|
|
```toml
|
|
# ~/.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](https://github.com/soywod/himalaya/wiki/Configuration:config-file) 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](https://github.com/soywod/himalaya/wiki/Usage:msg:list) for all
|
|
the features.*
|
|
|
|
## 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)
|
|
[![liberapay](https://img.shields.io/badge/-Liberapay-f6c915?logo=Liberapay&logoColor=222222)](https://liberapay.com/soywod)
|
|
|
|
## Credits
|
|
|
|
- [IMAP RFC3501](https://tools.ietf.org/html/rfc3501)
|
|
- [Iris](https://github.com/soywod/iris.vim), the himalaya predecessor
|
|
- [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
|