Terminal Email

nmail vs nmh

nmail: Terminal email client for Linux and macOS with an Alpine-like interface and built-in IMAP and SMTP.
nmh: The MH message handling system: separate shell commands to read, file, search and send mail stored one file per message.

Differences

Side by side

nmailnmh
InterfaceFull-screen terminal interfaceCommand-line tools and prompts
LanguageC++C
LicenseMITBSD 3-Clause
Latest versionv5.16.41.8
LinuxNativeNative
macOSNativeNative
WindowsNoThrough WSL
BSDNoNative
AndroidNoThrough Termux
IMAPYesThrough a separate tool
POP3NoYes
SMTPYesYes
JMAPNoNo
MaildirNoYes
mboxNoYes
notmuchNoNo
OpenPGPNoNo
S/MIMENoNo
OAuth2 sign-inYesNo
ThreadsNoNo
Searchlocal cache index and server searchpick command matches header fields and message text
HTML mailconverted to text, or opened in an external browservia mhshow with an external converter such as w3m
MouseNoNo
Multiple accountsNovia per-command switches or separate profiles
Offline uselocal SQLite cache; offline mode and send queuefull; messages are stored as local files
CalendarNoreplies to invitations with mhical
Contactsaddress book built from messagesaliases via MailAliases and the ali command
Vim-style keysNoNo
Configuration~/.config/nmail/main.conf key=value file~/.mh_profile and mts.conf text files

Which to choose

Choose nmail for

  • 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

Watch out for

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

Install nmail

Choose nmh for

  • Every action is a shell command, so mail handling is easy to script.
  • One file per message lets grep, find and other Unix tools work on mail.
  • Built-in POP3 and SMTP with TLS and SASL; reads mbox and Maildir drops.

Watch out for

  • No IMAP; IMAP mail must be synced to a Maildir first and then incorporated.
  • No built-in OpenPGP or S/MIME, and no thread view.
  • SMTP authentication needs nmh built with Cyrus SASL and its PLAIN or LOGIN plugin.

Install nmh

Questions

What is the difference between nmail and nmh?

nmail is a full-screen terminal client; nmh is a command-line program. Only nmail has built-in IMAP. Only nmh has built-in POP3, Maildir and mbox.

Which runs on Windows, nmail or nmh?

On Windows, nmail is not available. On Windows, nmh runs through WSL.

See also: nmail alternatives, nmh alternatives.