Terminal Email

mu4e vs NeoMutt

mu4e: Email client that runs inside GNU Emacs, built on the mu Maildir indexer and search tool.
NeoMutt: Full-screen terminal mail reader forked from Mutt, with notmuch, NNTP, Lua scripting and a sidebar built in.

Differences

Side by side

mu4eNeoMutt
InterfaceRuns inside EmacsFull-screen terminal interface
LanguageEmacs Lisp (mu4e), C++ (mu)C
LicenseGPL 3.0 or laterGPL 2.0 or later
Latest version1.14.320260616
LinuxNativeNative
macOSNativeNative
WindowsThrough WSLThrough WSL
BSDNativeNative
AndroidThrough TermuxThrough Termux
IMAPThrough a separate toolYes
POP3Through a separate toolYes
SMTPYesYes
JMAPNoNo
MaildirYesYes
mboxNoYes
notmuchNoYes
OpenPGPYesYes
S/MIMEvia Emacs MMLYes
OAuth2 sign-invia scriptvia script
ThreadsYesYes
SearchXapian full-text index with mu query syntaxbuilt-in patterns; notmuch for full-text
HTML mailbuilt-in, rendered with the Emacs shr libraryvia mailcap and an external viewer such as w3m or lynx
MouseYesNo
Multiple accountsvia contextsYes
Offline usefull; reads a local Maildir synced by mbsync or OfflineIMAPwith isync or OfflineIMAP; IMAP header and body cache
Calendarreplies to invitations with mu4e-icalendarNo
Contactsaddress completion from indexed mailvia query_command with abook or khard
Vim-style keysNoYes
ConfigurationEmacs Lisp in init.elneomuttrc text file

Which to choose

Choose mu4e for

  • Full-text search over all local mail through mu's Xapian index.
  • Works offline, since all mail lives in a local Maildir.
  • Uses Emacs message mode, so PGP/MIME, S/MIME and Org mode links are available.

Watch out for

  • No built-in IMAP; needs mbsync or a similar sync tool, so setup spans several config files.
  • Requires Emacs and some Emacs Lisp to configure.
  • No native Windows build, and Arch packages it only in the AUR.

Install mu4e

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

Questions

What is the difference between mu4e and NeoMutt?

mu4e is a mail client that runs inside Emacs; NeoMutt is a full-screen terminal client. Only NeoMutt has built-in IMAP, POP3, mbox and notmuch. mu4e has mouse support; NeoMutt does not.

Which runs on Windows, mu4e or NeoMutt?

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

See also: mu4e alternatives, NeoMutt alternatives.