CLI to manage emails
Find a file
2021-03-10 23:08:31 +01:00
.github release v0.1.0 2021-01-17 17:28:28 +01:00
src release v0.2.0 2021-03-10 23:08:31 +01:00
.gitignore init project, init toml config parser 2020-12-24 00:55:57 +01:00
Cargo.lock release v0.2.0 2021-03-10 23:08:31 +01:00
Cargo.toml release v0.2.0 2021-03-10 23:08:31 +01:00
CHANGELOG.md release v0.2.0 2021-03-10 23:08:31 +01:00
install.sh improve readme 2021-01-17 17:07:23 +01:00
LICENSE improve readme 2021-01-17 17:07:23 +01:00
README.md release v0.2.0 2021-03-10 23:08:31 +01:00

📫 Himalaya [WIP] gh-actions

Minimalist CLI email client, written in Rust.

image

Table of contents

Motivation

Bringing emails to the terminal is a pain. The mainstream TUI, (neo)mutt, takes time to configure. The default mapping is not intuitive when coming from the Vim environment. It is even scary to use at the beginning, since you are dealing with sensitive data!

The aim of Himalaya is to extract the email logic into a simple (yet solid) CLI API that can be used either directly from the terminal or UIs. It gives users more flexibility.

Installation

curl -sSL https://raw.githubusercontent.com/soywod/himalaya/master/install.sh | bash

See wiki section for more information.

Configuration

# ~/.config/himalaya/config.toml

name = "Your full name"
downloads-dir = "/abs/path/to/downloads"

# Himalaya supports the multi-account
# Each account should be inside a TOML section
[gmail]
default = true
email = "my.email@gmail.com"

imap-host = "imap.gmail.com"
imap-port = 993
imap-login = "test@gmail.com"
imap-passwd_cmd = "pass show gmail"

smtp-host = "smtp.gmail.com"
smtp-port = 487
smtp-login = "test@gmail.com"
smtp-passwd_cmd = "pass show gmail"

[posteo]
name = "Your overriden full name"
downloads-dir = "/abs/path/to/overriden/downloads"
email = "test@posteo.net"

imap-host = "posteo.de"
imap-port = 993
imap-login = "test@posteo.net"
imap-passwd_cmd = "security find-internet-password -gs posteo -w"

smtp-host = "posteo.de"
smtp-port = 487
smtp-login = "test@posteo.net"
smtp-passwd_cmd = "security find-internet-password -gs posteo -w"

# [other accounts]
# ...

See wiki section for more information.

Usage

Himalaya 0.2.0
soywod <clement.douin@posteo.net>
📫 Minimalist CLI email client

USAGE:
    himalaya [OPTIONS] [SUBCOMMAND]

FLAGS:
    -h, --help       Prints help information
    -V, --version    Prints version information

OPTIONS:
    -a, --account <STRING>    Name of the account to use
    -o, --output <STRING>     Format of the output to print [default: text]  [possible values: text, json]

SUBCOMMANDS:
    attachments    Downloads all attachments from an email
    forward        Forwards an email
    help           Prints this message or the help of the given subcommand(s)
    list           Lists emails sorted by arrival date
    mailboxes      Lists all available mailboxes
    read           Reads text bodies of an email
    reply          Answers to an email
    save           Saves a raw message in the given mailbox
    search         Lists emails matching the given IMAP query
    send           Sends a raw message
    template       Generates a message template
    write          Writes a new email

See wiki section for more information.

List mailboxes

Shows mailboxes in a basic table.

image

See wiki section for more information.

List messages

Shows messages in a basic table.

image

See wiki section for more information.

Search messages

Shows filtered messages in a basic table. The query should follow the RFC-3501.

image

See wiki section for more information.

Download attachments

Downloads all attachments directly to the downloads-dir.

image

See wiki section for more information.

Read a message

Shows the text content of a message (text/plain if exists, otherwise text/html). Can be overriden by the --mime-type option.

image

See wiki section for more information.

Write a new message

Opens your default editor (from the $EDITOR environment variable) to compose a new message.

himalaya write

See wiki section for more information.

Reply to a message

Opens your default editor to reply to a message.

himalaya reply --all 5123

See wiki section for more information.

Forward a message

Opens your default editor to forward a message.

himalaya forward 5123

See wiki section for more information.

Credits