Terminal Email

NeoMutt vs nmh

NeoMutt: Full-screen terminal mail reader forked from Mutt, with notmuch, NNTP, Lua scripting and a sidebar built in.
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

NeoMuttnmh
InterfaceFull-screen terminal interfaceCommand-line tools and prompts
LanguageCC
LicenseGPL 2.0 or laterBSD 3-Clause
Latest version202606161.8
LinuxNativeNative
macOSNativeNative
WindowsThrough WSLThrough WSL
BSDNativeNative
AndroidThrough TermuxThrough Termux
IMAPYesThrough a separate tool
POP3YesYes
SMTPYesYes
JMAPNoNo
MaildirYesYes
mboxYesYes
notmuchYesNo
OpenPGPYesNo
S/MIMEYesNo
OAuth2 sign-invia scriptNo
ThreadsYesNo
Searchbuilt-in patterns; notmuch for full-textpick 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
Configurationneomuttrc text file~/.mh_profile and mts.conf text files

Which to choose

Choose NeoMutt for

  • Built-in notmuch support for tag-based virtual mailboxes and full-text search
  • Reads Usenet over NNTP and supports Lua scripting
  • Reads most existing muttrc files with few or no changes

Watch out for

  • Configuration is a text file with hundreds of options and no setup wizard
  • HTML mail needs an external viewer set up in mailcap
  • OAuth2 needs an external token script such as mutt_oauth2.py

Install NeoMutt

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

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

Which runs on Windows, NeoMutt or nmh?

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

See also: NeoMutt alternatives, nmh alternatives.