Terminal Email

nmail

TUIEmail client

Terminal email client for Linux and macOS with an Alpine-like interface and built-in IMAP and SMTP.

nmail is an ncurses email client written in C++ that connects to one IMAP and SMTP account and keeps a local SQLite cache, optionally encrypted. It has setup wizards for Gmail, iCloud and Outlook (including OAuth 2.0), converts HTML mail to text, composes HTML mail from Markdown and can queue mail while offline. It suits users who want an Alpine-style client with no separate sync or send tools. Multiple accounts need separate nmail instances.

Type
Email client
Interface
Full-screen terminal interface
Systems
Runs on Linux and macOS. Not available for Windows, BSD or Android.
Language
C++
License
MIT
Latest version
v5.16.4
Maintained
Yes
Website
github.com
Source
github.com/d99kris/nmail
Documentation
github.com

Install

SystemSupportInstall
LinuxNative
Guixguix install nmail
Install scriptcurl -fsSL https://raw.githubusercontent.com/d99kris/nmail/master/utils/install.sh | bash
macOSNative
Homebrewbrew install nmail
MacPortssudo port install nmail
WindowsNot supported

Upstream supports Linux and macOS only.

BSDNot supported

Not packaged or documented for the BSDs.

AndroidNot supported-

Protocols and features

Protocols
Protocolnmail
IMAPYes
POP3No
SMTPYes
JMAPNo
MaildirNo
mboxNo
notmuchNo
Features
Featurenmail
OpenPGPNo
S/MIMENo
OAuth2 sign-inYes
ThreadsNo
Searchlocal cache index and server search
HTML mailconverted to text, or opened in an external browser
MouseNo
Multiple accountsNo
Offline uselocal SQLite cache; offline mode and send queue
CalendarNo
Contactsaddress book built from messages
Vim-style keysNo
Configuration~/.config/nmail/main.conf key=value file

Pros and cons

Pros

  • Built-in IMAP and SMTP with setup wizards for Gmail, iCloud and Outlook
  • Local cache, address book and outgoing queue can be encrypted
  • Compose HTML mail using Markdown

Cons

  • One account per running instance
  • No threaded view and no PGP or S/MIME
  • Linux and macOS only; no Debian or Fedora package

Use nmail 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/nmail/main.conf
address=you@example.com
name=Your Name
user=you@example.com
imap_host=imap.forwardemail.net
imap_port=993
smtp_host=smtp.forwardemail.net
smtp_port=465
# Folder names must match the folders on the server
inbox=INBOX
drafts=Drafts
sent=Sent Mail
trash=Trash
spam=Spam
# Prompt for the alias' generated password at start instead of storing it
save_pass=0
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 nmail

All nmail alternatives

Questions

Does nmail work on Windows?

No. Upstream supports Linux and macOS only. See clients that run on Windows.

Does nmail support IMAP?

Yes, nmail connects to IMAP servers directly.

Is nmail open source?

Yes, under the MIT.

How do I use nmail with Forward Email?

Use the config in the Forward Email section on this page, saved as ~/.config/nmail/main.conf, and replace the address and password with your own.

Sources