Terminal Email

meli

TUIEmail client

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

SystemSupportInstall
LinuxNative
aptsudo apt install meli
cargocargo install meli
macOSNative
Homebrewbrew install meli
MacPortssudo port install meli
cargocargo install meli
WindowsNot supported

No Windows build; the project lists BSD, Linux and macOS.

BSDNative
OpenBSDpkg_add meli
NetBSD pkgsrcpkgin install meli
AndroidNot supported-

Protocols and features

Protocols
Protocolmeli
IMAPYes
POP3No
SMTPYes
JMAPYes
MaildirYes
mboxYes
notmuchYes
Features
Featuremeli
OpenPGPYes
S/MIMENo
OAuth2 sign-invia script
ThreadsYes
Searchbuilt-in; sqlite3 index by default; notmuch queries
HTML mailvia filter command, w3m by default
MouseYes
Multiple accountsYes
Offline useIMAP header cache in sqlite3; full offline use with Maildir and mbsync
CalendarNo
Contactsbuilt-in contact list; reads vCard and mutt alias files
Vim-style keysYes
ConfigurationTOML 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.

~/.config/meli/config.toml
# 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" } }
ProtocolServerPortSecurity
IMAPimap.forwardemail.net993SSL/TLS
POP3pop3.forwardemail.net995SSL/TLS
SMTPsmtp.forwardemail.net465SSL/TLS
SMTPsmtp.forwardemail.net587STARTTLS

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

All meli alternatives

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