Terminal Email

Mutt vs nmh

Mutt: Long-running text-mode email client with IMAP, POP3 and SMTP support, configured through a muttrc file.
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

Muttnmh
InterfaceFull-screen terminal interfaceCommand-line tools and prompts
LanguageCC
LicenseGPL 2.0 or laterBSD 3-Clause
Latest version2.4.21.8
LinuxNativeNative
macOSNativeNative
WindowsThrough WSLThrough WSL
BSDNativeNative
AndroidThrough TermuxThrough Termux
IMAPYesThrough a separate tool
POP3YesYes
SMTPYesYes
JMAPNoNo
MaildirYesYes
mboxYesYes
notmuchNoNo
OpenPGPYesNo
S/MIMEYesNo
OAuth2 sign-invia scriptNo
ThreadsYesNo
Searchbuilt-in patterns; server-side IMAP searchpick command matches header fields and message text
HTML mailvia mailcap and an external viewer such as w3m or lynxvia mhshow with an external converter such as w3m
MouseNoNo
Multiple accountsYesvia per-command switches or separate profiles
Offline usewith isync or OfflineIMAP; IMAP header and body cachefull; messages are stored as local files
CalendarNoreplies to invitations with mhical
Contactsvia query_command with abook or khardaliases via MailAliases and the ali command
Vim-style keysYesNo
Configurationmuttrc text file~/.mh_profile and mts.conf text files

Which to choose

Choose Mutt for

  • Packaged by major Linux distributions, Homebrew, FreeBSD, OpenBSD and Termux
  • Conservative releases that rarely break existing muttrc files
  • Built-in PGP/MIME, S/MIME and Autocrypt

Watch out for

  • No notmuch, NNTP or scripting support (NeoMutt has these)
  • Configuration is a text file with hundreds of options and no setup wizard
  • HTML mail needs an external viewer set up in mailcap

Install Mutt

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 Mutt and nmh?

Mutt is a full-screen terminal client; nmh is a command-line program. Only Mutt has built-in IMAP. nmh has calendar support; Mutt does not.

Which runs on Windows, Mutt or nmh?

On Windows, Mutt runs through WSL. On Windows, nmh runs through WSL.

See also: Mutt alternatives, nmh alternatives.