- Notifications
You must be signed in to change notification settings - Fork24
🐝 terminal mail client, mirror ofhttps://git.meli-email.org/meli/meli.githttps://crates.io/crates/meli
License
meli/meli
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
BSD/Linux/macos terminal email client with support for multiple accounts and Maildir / mbox / notmuch / IMAP / JMAP / NNTP (Usenet).
Try anold, outdated but online and interactive web demo powered by WebAssembly!
- Say hello on
#meli
on OFTC IRC, or, #meli:matrix.org
Matrix bridge (if operational)- Mailing lists
- Main repositoryhttps://git.meli-email.org/meli/meli Report bugs and/or feature requests inmeli's issue tracker
Table of contents:
Crates.io with
cargo
on all supported systems and architectureshttps://crates.io/crates/melicargo install meli
Install latest development snapshot from git repository:
cargo install --git https://git.meli-email.org/meli/meli.git meli
Official Debian (and Debian derivatives) packageshttps://packages.debian.org/trixie/meli
apt install meli
AUR (archlinux)https://aur.archlinux.org/packages/meli
OpenSUSEhttps://build.opensuse.org/package/show/openSUSE:Factory/meli
Alpine Linuxhttps://pkgs.alpinelinux.org/packages?name=meli
apk install meli
NetBSD with pkgsrchttps://pkgsrc.se/mail/meli
OpenBSD portshttps://openports.pl/path/mail/meli
macOS with
Homebrewhttps://formulae.brew.sh/formula/meli
brew install meli
MacPortshttps://ports.macports.org/port/meli/
port install meli
Nix with Nixpkgshttps://search.nixos.org/packages?query=meli
Pre-built debian package, static binaries for
amd64
,arm64
architectures
Runmake
orcargo build --release --bin meli
.
Seemake help
output for information on how to use theMakefile
.
For detailed building instructions, seeBUILD.md
meli
supports opting in and out of features at compile time with cargo features.
The contents of thedefault
feature are:
default = ["sqlite3","notmuch","smtp","dbus-notifications","gpgme","cli-docs","jmap","static"]
A list of all the features and a description for each follows:
Feature flag | Dependencies | Notes |
---|---|---|
notmuch | maildir feature | Provides thenotmuch backend |
jmap | http feature,url crate withserde feature | Provides theJMAP backend |
smtp | tls feature | Integrated asyncSMTP client |
sqlite3 | rusqlite crate withbundled-full feature | Used in caches |
sqlite3-static | rusqlite crate withbundled-full feature | Same assqlite3 feature but provided for consistency and in casesqlite3 feature stops bundling libsqlite3 statically in the future. |
smtp-trace | smtp feature | Connection trace logs on thetrace logging level |
gpgme | GPG use by dynamically loadinglibgpgme.so | |
tls-static | native-tls crate withvendored feature | Links withOpenSSL statically where it's used |
http-static | isahc crate withstatic-curl feature | Links withcurl statically |
dbus-notifications | notify-rust dependency | Uses DBus notifications |
dbus-static | notify-rust dependency and enableds itsd_vendored feature | Includes the dbus library statically. |
cli-docs | flate2 dependency | Includes the manpage documentation compiled by eithermandoc orman binary to plain text inmeli 's command line. Embedded documentation can be viewed with the subcommandmeli man [PAGE] |
libz-static | libz-sys dependency and enables itsstatic feature | Allows for the transitive dependency libz (fromcurl ) to be linked statically. |
static | enablestls-static ,http-static ,sqlite3-static ,dbus-static ,libz-static features |
# Create configuration file in ${XDG_CONFIG_HOME}/meli/config.toml:$ meli create-config# Edit configuration in ${EDITOR} or ${VISUAL}:$ meli edit-config# Optionally, install manual pages if installed via cargo:$ meli install-man# Ready to go.$ meli# You can read any manual page with the CLI subcommand `man`:$ meli man meli.7# See help output for all options and subcommands.$ meli --help
See a comprehensive tour ofmeli
in the manual pagemeli(7)
.
See also theQuickstart tutorial online.
After installingmeli
, seemeli(1)
,meli.conf(5)
,meli(7)
andmeli-themes(5)
for documentation.Sample configuration and theme files can be found in themeli/docs/samples/
subdirectory.Examples for configuration file settings can be found inmeli.conf.examples(5)
Manual pages are alsohosted online.meli
by default looks for a configuration file in this location:${XDG_CONFIG_HOME}/meli/config.toml
.
You can run meli with arbitrary configuration files by setting the${MELI_CONFIG}
environment variable to their locations, i.e.:
MELI_CONFIG=./test_config cargo run
Seemeli(7)
for an extensive tutorial andmeli.conf(5)
for all configuration values.
Main view | Compact main view | Compose with embed terminal editor |
---|---|---|
![]() | ![]() | ![]() |
Protocol | Support |
---|---|
IMAP | full |
Maildir | full |
notmuch | full1 |
mbox | read-only |
JMAP | functional |
NNTP / Usenet | functional |
- SMTP
- Pipe to shell script
- Server-side submission when supported
- TLS
- email threading support
- multithreaded, async operation
- optionally run your editor of choice inside meli, with an embeddedxterm-compatible terminal emulator
- plain text configuration in TOML
- ability to open emails in UI tabs and switch to them
- optional sqlite3 index search
- override almost any setting per mailbox, per account
- contact list (+read-only vCard and mutt alias file support)
- forced UTF-8 (other encodings are read-only)
- configurable shortcuts
- theming
NO_COLOR
support- ascii-only drawing characters option
- view text/html attachments through an html filter command (w3m by default)
- pipe attachments/mail to stuff
- use external attachment file picker instead of typing in an attachment's full path
- GPG signing, encryption, signing + encryption
- GPG signature verification
HTML rendering is achieved usingw3m by default.You can use thepager.html_filter
setting to override this (for more details you can consultmeli.conf(5)
).
See a comprehensive tour ofmeli
in the manual pagemeli(7)
.
See also theQuickstart tutorial online.
After installingmeli
, seemeli(1)
,meli.conf(5)
,meli(7)
andmeli-themes(5)
for documentation.Sample configuration and theme files can be found in themeli/docs/samples/
subdirectory.Manual pages are alsohosted online.
meli
by default looks for a configuration file in this location:${XDG_CONFIG_HOME}/meli/config.toml
You can run meli with arbitrary configuration files by setting the${MELI_CONFIG}
environment variable to their locations, or use the[-c, --config]
argument:
MELI_CONFIG=./test_config meli
or
meli -c ./test_config
Footnotes
there's no support for searching through all email directly, you'd have tocreate a mailbox with a notmuch query that returns everything and searchinside that mailbox.↩
About
🐝 terminal mail client, mirror ofhttps://git.meli-email.org/meli/meli.githttps://crates.io/crates/meli