meli
terminal mail client, mirror of https://git.meli-email.org/meli/meli.git https://crates.io/crates/meli
Science Score: 26.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
○CITATION.cff file
-
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
○DOI references
-
○Academic publication links
-
○Academic email domains
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (11.6%) to scientific vocabulary
Keywords
Repository
terminal mail client, mirror of https://git.meli-email.org/meli/meli.git https://crates.io/crates/meli
Basic Info
- Host: GitHub
- Owner: meli
- License: gpl-3.0
- Language: Rust
- Default Branch: master
- Homepage: https://meli-email.org
- Size: 11.7 MB
Statistics
- Stars: 750
- Watchers: 14
- Forks: 26
- Open Issues: 4
- Releases: 21
Topics
Metadata Files
README.md
meli

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!
- Say hello on
#melion OFTC IRC, or, #meli:matrix.orgMatrix bridge (if operational)- Mailing lists
- Main repository https://git.meli-email.org/meli/meli Report bugs and/or feature requests in meli's issue tracker
Table of contents:
Install
- Crates.io with
cargoon all supported systems and architectures https://crates.io/crates/meli
sh
cargo install meli
Install latest development snapshot from git repository:
sh
cargo install --git https://git.meli-email.org/meli/meli.git meli
- Official Debian (and Debian derivatives) packages https://packages.debian.org/trixie/meli
sh
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
sh
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

```sh
brew install meli
```
MacPorts https://ports.macports.org/port/meli/
sh port install meli- Nix with Nixpkgs https://search.nixos.org/packages?query=meli
- Pre-built debian package, static binaries for
amd64, arm64 architectures
Build
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
Cargo Compile-time Features
meli supports opting in and out of features at compile time with cargo features.
The contents of the default feature are:
toml
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 | |
Quick start
```sh
Create configuration file in ${XDGCONFIGHOME}/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.:
sh
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 |
|-----------|-------------------|------------------------------------|
|
|
|
|
Supported E-mail backends
| Protocol | Support | |---------------|------------| | IMAP | full | | Maildir | full | | notmuch | full[^0] | | mbox | read-only | | JMAP | functional | | NNTP / Usenet | functional |
[^0]: 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.
E-mail submission backends
- SMTP
- Pipe to shell script
- Server-side submission when supported
Non-exhaustive list of features
- TLS
- email threading support
- multithreaded, async operation
- optionally run your editor of choice inside meli, with an embedded xterm-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_COLORsupport- 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
HTML 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)).
Documentation
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:
sh
MELI_CONFIG=./test_config meli
or
sh
meli -c ./test_config
Owner
- Name: meli
- Login: meli
- Kind: organization
- Website: https://meli-email.org
- Repositories: 5
- Profile: https://github.com/meli
terminal mail user agent
CodeMeta (codemeta.json)
{
"@context": [
"https://doi.org/10.5063/schema/codemeta-2.0",
"http://schema.org/"
],
"@type": "SoftwareSourceCode",
"applicationCategory": "E-mail client",
"author": [
{
"@id": "https://pitsidianak.is/",
"@type": "Person",
"name": "epilys",
"email": "manos@pitsidianak.is",
"familyName": "Pitsidianakis",
"givenName": "Manos",
"url": "https://pitsidianak.is/"
}
],
"codeRepository": "https://git.meli-email.org/meli/meli.git",
"dateCreated": "2016-04-25",
"dateModified": "2025-04-21",
"datePublished": "2017-07-23",
"description": "BSD/Linux/macos terminal email client with support for multiple accounts and Maildir / mbox / notmuch / IMAP / JMAP / NNTP (Usenet).",
"downloadUrl": "https://git.meli-email.org/meli/meli/archive/v0.8.12.tar.gz",
"identifier": "https://meli-email.org/",
"isPartOf": "https://meli-email.org/",
"keywords": [
"e-mail",
"email",
"mail",
"terminal user interface",
"client",
"mua",
"mail user agent",
"smtp",
"imap",
"jmap",
"mbox",
"maildir",
"nntp"
],
"license": [
"https://spdx.org/licenses/EUPL-1.2",
"https://spdx.org/licenses/GPL-3.0-or-later"
],
"name": "meli",
"operatingSystem": [
"Linux",
"macOS",
"OpenBSD",
"NetBSD"
],
"programmingLanguage": "Rust",
"relatedLink": [
"https://lists.meli-email.org/",
"https://codeberg.org/meli/meli",
"https://github.com/meli/meli",
"https://gitlab.com/meli-project/meli",
"https://crates.io/crates/meli",
"https://packages.debian.org/trixie/meli",
"https://pkgsrc.se/mail/meli",
"https://openports.pl/path/mail/meli",
"https://ports.macports.org/port/meli/",
"https://search.nixos.org/packages?query=meli"
],
"version": "0.8.12",
"contIntegration": "https://git.meli-email.org/meli/meli/actions",
"developmentStatus": "active",
"issueTracker": "https://git.meli-email.org/meli/meli/issues",
"readme": "https://git.meli-email.org/meli/meli/raw/tag/v0.8.12/README.md",
"buildInstructions": "https://git.meli-email.org/meli/meli/raw/tag/v0.8.12/BUILD.md"
}
GitHub Events
Total
- Release event: 4
- Watch event: 99
- Delete event: 48
- Issue comment event: 9
- Push event: 37
- Pull request event: 4
- Fork event: 5
- Create event: 6
Last Year
- Release event: 4
- Watch event: 99
- Delete event: 48
- Issue comment event: 9
- Push event: 37
- Pull request event: 4
- Fork event: 5
- Create event: 6
Issues and Pull Requests
Last synced: over 1 year ago
All Time
- Total issues: 0
- Total pull requests: 27
- Average time to close issues: N/A
- Average time to close pull requests: 24 days
- Total issue authors: 0
- Total pull request authors: 6
- Average comments per issue: 0
- Average comments per pull request: 1.78
- Merged pull requests: 6
- Bot issues: 0
- Bot pull requests: 12
Past Year
- Issues: 0
- Pull requests: 1
- Average time to close issues: N/A
- Average time to close pull requests: 3 days
- Issue authors: 0
- Pull request authors: 1
- Average comments per issue: 0
- Average comments per pull request: 2.0
- Merged pull requests: 0
- Bot issues: 0
- Bot pull requests: 0
Top Authors
Issue Authors
Pull Request Authors
- dependabot[bot] (7)
- granquet (6)
- teto (2)
- rudihorn (1)
- gfreezy (1)
- astynax (1)
- epilys (1)
- asdf8dfafjk (1)
Top Labels
Issue Labels
Pull Request Labels
Packages
- Total packages: 1
- Total downloads: unknown
- Total dependent packages: 0
- Total dependent repositories: 0
- Total versions: 16
proxy.golang.org: github.com/meli/meli
- Documentation: https://pkg.go.dev/github.com/meli/meli#section-documentation
- License: gpl-3.0
-
Latest release: v0.8.12
published 8 months ago
Rankings
Dependencies
- 249 dependencies
- regex 1 development
- async-task ^4.2.0
- bincode ^1.3.0
- bitflags 1.0
- crossbeam ^0.8
- flate2 1.0.16
- futures 0.3.5
- indexmap ^1.6
- libc 0.2.125
- linkify ^0.8
- melib 0.7.2
- nix ^0.24
- notify 4.0.1
- num_cpus 1.12.0
- pcre2 0.2.3
- serde 1.0.71
- serde_derive 1.0.71
- serde_json 1.0
- signal-hook ^0.3
- signal-hook-registry 1.2.0
- smallvec ^1.5.0
- structopt 0.3.14
- svg_crate ^0.10
- termion 1.5.1
- toml 0.5.6
- unicode-segmentation 1.2.1
- xdg 2.1.0
- 239 dependencies
- mailin-embedded 0.7 development
- stderrlog ^0.5 development
- async-stream ^0.3
- base64 ^0.13
- bincode ^1.3.0
- bitflags 1.0
- data-encoding 2.1.1
- encoding 0.2.33
- flate2 1.0.16
- futures 0.3.5
- indexmap ^1.5
- isahc ^1.7.2
- libc 0.2.125
- libloading ^0.7
- native-tls 0.2.3
- nix ^0.24
- nom 7
- notify 4.0.15
- rusqlite ^0.28
- serde 1.0.71
- serde_derive 1.0.71
- serde_json 1.0
- smallvec ^1.5.0
- smol 1.0.0
- unicode-segmentation 1.2.1
- uuid ^1
- xdg 2.1.0
- xdg-utils ^0.4.0
- flate2 1 development
- regex 1 development
- tempfile 3.3 development
- async-task ^4.2.0
- bitflags 2.4
- crossbeam ^0.8
- flate2 1
- futures 0.3.5
- indexmap ^1.6
- libc 0.2.125
- linkify ^0.8
- melib 0.8.2
- nix ^0.24
- notify 4.0.1
- num_cpus 1.12.0
- pcre2 0.2.3
- serde 1.0.71
- serde_derive 1.0.71
- serde_json 1.0
- signal-hook ^0.3
- signal-hook-registry 1.2.0
- smallvec ^1.5.0
- structopt 0.3.14
- svg_crate ^0.13
- termion 1.5.1
- toml 0.5.6
- xdg 2.1.0
- 260 dependencies