meli
Terminal email client written in Rust with IMAP, JMAP, notmuch, Maildir, mbox and NNTP backends and TOML configuration.
meli is a full-screen terminal email client for Linux, macOS and the BSDs. It supports several accounts at once over IMAP, JMAP, notmuch, Maildir, read-only mbox and NNTP, sends through its built-in SMTP client or a shell command, and can run the editor inside an embedded terminal. Configuration is a single TOML file, and most settings can be overridden per account or per mailbox.
- Type
- Email client
- Interface
- Full-screen terminal interface
- Systems
- Runs on Linux, macOS and BSD. Not available for Windows or Android.
- Language
- Rust
- License
- EUPL 1.2 or GPL 3.0 or later
- Latest version
0.8.13- Maintained
- Yes
- Website
- meli-email.org
- Source
- git.meli-email.org/meli/meli
- Documentation
- meli-email.org
Install
| System | Support | Install |
|---|---|---|
| Linux | Native | apt sudo apt install melicargo cargo install meli |
| macOS | Native | Homebrew brew install meliMacPorts sudo port install melicargo cargo install meli |
| Windows | Not supported | No Windows build; the project lists BSD, Linux and macOS. |
| BSD | Native | OpenBSD pkg_add meliNetBSD pkgsrc pkgin install meli |
| Android | Not supported | - |
Protocols and features
| Protocol | meli |
|---|---|
| IMAP | Yes |
| POP3 | No |
| SMTP | Yes |
| JMAP | Yes |
| Maildir | Yes |
| mbox | Yes |
| notmuch | Yes |
| Feature | meli |
|---|---|
| OpenPGP | Yes |
| S/MIME | No |
| OAuth2 sign-in | via script |
| Threads | Yes |
| Search | built-in; sqlite3 index by default; notmuch queries |
| HTML mail | via filter command, w3m by default |
| Mouse | Yes |
| Multiple accounts | Yes |
| Offline use | IMAP header cache in sqlite3; full offline use with Maildir and mbsync |
| Calendar | No |
| Contacts | built-in contact list; reads vCard and mutt alias files |
| Vim-style keys | Yes |
| Configuration | TOML file (config.toml) |
Pros and cons
Pros
- Supports JMAP, notmuch, IMAP, Maildir and NNTP in one client
- Single TOML file with per-account and per-mailbox overrides
- Embedded terminal runs the editor inside the compose view
Cons
- No POP3 or S/MIME support
- mbox support is read-only
- No Windows or Termux packages
Use meli with Forward Email
A working setup for a Forward Email mailbox. Replace you@example.com with your alias and the password command with your own. The same settings work with any provider once the server names change.
# Forward Email: IMAP over SSL/TLS (993), SMTP over SSL/TLS (465)
[accounts."forwardemail"]
format = "imap"
root_mailbox = "INBOX"
subscribed_mailboxes = ["*"]
identity = "you@example.com"
display_name = "Your Name"
server_hostname = "imap.forwardemail.net"
server_port = 993
use_tls = true
server_username = "you@example.com"
server_password_command = "pass show email/forwardemail"
send_mail = { hostname = "smtp.forwardemail.net", port = 465, auth = { type = "auto", username = "you@example.com", password = { type = "command_eval", value = "pass show email/forwardemail" } }, security = { type = "TLS" } }| Protocol | Server | Port | Security |
|---|---|---|---|
| IMAP | imap.forwardemail.net | 993 | SSL/TLS |
| POP3 | pop3.forwardemail.net | 995 | SSL/TLS |
| SMTP | smtp.forwardemail.net | 465 | SSL/TLS |
| SMTP | smtp.forwardemail.net | 587 | STARTTLS |
Username: your full alias address, such as you@example.com. Password: the one shown by Generate Password next to the alias in your Forward Email account. Folders: INBOX, Drafts, Sent Mail, Trash, Spam and Archive.
Prefer no config at all? Forward Email's terminal app signs in with your account and has mail, calendar and contacts in one program.
Compare meli
Questions
Does meli work on Windows?
No. No Windows build; the project lists BSD, Linux and macOS. See clients that run on Windows.
Does meli support IMAP?
Yes, meli connects to IMAP servers directly.
Is meli open source?
Yes, under the EUPL 1.2 or GPL 3.0 or later.
How do I use meli with Forward Email?
Use the config in the Forward Email section on this page, saved as ~/.config/meli/config.toml, and replace the address and password with your own.
Sources
- meli-email.org/
- meli-email.org/documentation.html
- git.meli-email.org/meli/meli
- github.com/meli/meli
- github.com/meli/meli/blob/master/COPYING
- github.com/meli/meli/blob/master/README.md
- github.com/meli/meli/blob/v0.8.13/meli/docs/meli.conf.5
- github.com/meli/meli/blob/master/meli/src/version_migrations/v0_9_0.rs
- crates.io/crates/meli
- formulae.brew.sh/formula/meli
- ports.macports.org/port/meli/
- sources.debian.org/src/meli/
- github.com/openbsd/ports/tree/master/mail/meli
- cdn.netbsd.org/pub/pkgsrc/current/pkgsrc/mail/meli/Makefile
- github.com/forwardemail/forwardemail.net/blob/master/helpers/ensure-default-mailboxes.js