| Crates.io | meli |
| lib.rs | meli |
| version | 0.8.12 |
| created_at | 2019-07-08 14:37:43.611264+00 |
| updated_at | 2025-04-30 09:25:25.744675+00 |
| description | terminal e-mail client |
| homepage | https://meli-email.org |
| repository | https://git.meli-email.org/meli/meli.git |
| max_upload_size | |
| id | 147555 |
| size | 2,918,767 |
BSD/Linux/macos terminal email client with support for multiple accounts and Maildir / mbox / notmuch / IMAP / JMAP / NNTP (Usenet).
Try an old, outdated but online and interactive web demo powered by WebAssembly!
#meli on OFTC IRC, or,#meli:matrix.org Matrix bridge (if operational)Table of contents:
Crates.io with cargo on all supported systems and architectures https://crates.io/crates/meli
cargo 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) packages https://packages.debian.org/trixie/meli
apt install meli
AUR (archlinux) https://aur.archlinux.org/packages/meli
OpenSUSE https://build.opensuse.org/package/show/openSUSE:Factory/meli
Alpine Linux https://pkgs.alpinelinux.org/packages?name=meli
apk install meli
NetBSD with pkgsrc https://pkgsrc.se/mail/meli
OpenBSD ports https://openports.pl/path/mail/meli
macOS with
Homebrew https://formulae.brew.sh/formula/meli
brew install meli
MacPorts https://ports.macports.org/port/meli/
port install meli
Nix with Nixpkgs https://search.nixos.org/packages?query=meli
Pre-built debian package, static binaries for amd64, arm64 architectures
Run make or cargo build --release --bin meli.
See make help output for information on how to use the Makefile.
For detailed building instructions, see BUILD.md
meli supports opting in and out of features at compile time with cargo features.
The contents of the default 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 the notmuch backend |
jmap |
http feature, url crate with serde feature |
Provides the JMAP backend |
smtp |
tls feature |
Integrated async SMTP client |
sqlite3 |
rusqlite crate with bundled-full feature |
Used in caches |
sqlite3-static |
rusqlite crate with bundled-full feature |
Same as sqlite3 feature but provided for consistency and in case sqlite3 feature stops bundling libsqlite3 statically in the future. |
smtp-trace |
smtp feature |
Connection trace logs on the trace logging level |
gpgme |
GPG use by dynamically loading libgpgme.so |
|
tls-static |
native-tls crate with vendored feature |
Links with OpenSSL statically where it's used |
http-static |
isahc crate with static-curl feature |
Links with curl statically |
dbus-notifications |
notify-rust dependency |
Uses DBus notifications |
dbus-static |
notify-rust dependency and enableds its d_vendored feature |
Includes the dbus library statically. |
cli-docs |
flate2 dependency |
Includes the manpage documentation compiled by either mandoc or man binary to plain text in meli's command line. Embedded documentation can be viewed with the subcommand meli man [PAGE] |
libz-static |
libz-sys dependency and enables its static feature |
Allows for the transitive dependency libz (from curl) to be linked statically. |
static |
enables tls-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 of meli in the manual page meli(7).
See also the Quickstart tutorial online.
After installing meli, see meli(1), meli.conf(5), meli(7) and meli-themes(5) for documentation.
Sample configuration and theme files can be found in the meli/docs/samples/ subdirectory.
Examples for configuration file settings can be found in meli.conf.examples(5)
Manual pages are also hosted 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
See meli(7) for an extensive tutorial and meli.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 |
NO_COLOR supportHTML rendering is achieved using w3m by default.
You can use the pager.html_filter setting to override this (for more details you can consult meli.conf(5)).
See a comprehensive tour of meli in the manual page meli(7).
See also the Quickstart tutorial online.
After installing meli, see meli(1), meli.conf(5), meli(7) and meli-themes(5) for documentation.
Sample configuration and theme files can be found in the meli/docs/samples/ subdirectory.
Manual pages are also hosted 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
there's no support for searching through all email directly, you'd have to create a mailbox with a notmuch query that returns everything and search inside that mailbox. ↩