Terminal Email

mu4e vs Notmuch Emacs interface

mu4e: Email client that runs inside GNU Emacs, built on the mu Maildir indexer and search tool.
Notmuch Emacs interface: Emacs front end for notmuch that reads, searches, tags and composes mail from a local Maildir.

Differences

Side by side

mu4eNotmuch Emacs interface
InterfaceRuns inside EmacsRuns inside Emacs
LanguageEmacs Lisp (mu4e), C++ (mu)Emacs Lisp
LicenseGPL 3.0 or laterGPL 3.0 or later
Latest version1.14.30.40
LinuxNativeNative
macOSNativeNative
WindowsThrough WSLThrough WSL
BSDNativeNative
AndroidThrough TermuxThrough Termux
IMAPThrough a separate toolThrough a separate tool
POP3Through a separate toolThrough a separate tool
SMTPYesYes
JMAPNoNo
MaildirYesYes
mboxNoNo
notmuchNoYes
OpenPGPYesYes
S/MIMEvia Emacs MMLYes
OAuth2 sign-invia scriptvia script
ThreadsYesYes
SearchXapian full-text index with mu query syntaxnotmuch Xapian full-text search with tags
HTML mailbuilt-in, rendered with the Emacs shr librarybuilt-in, rendered with the Emacs shr library
MouseYesYes
Multiple accountsvia contextsYes
Offline usefull; reads a local Maildir synced by mbsync or OfflineIMAPfull; reads a local Maildir synced by mbsync or OfflineIMAP
Calendarreplies to invitations with mu4e-icalendarshows text/calendar parts; no invitation replies
Contactsaddress completion from indexed mailaddress completion from the notmuch index
Vim-style keysNoNo
ConfigurationEmacs Lisp in init.elEmacs Lisp in init.el plus the notmuch config 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 Notmuch Emacs interface for

  • Tag-based organization with fast full-text search over all local mail.
  • Shows a whole thread in a single buffer.
  • Handles PGP/MIME and S/MIME signatures and decryption through notmuch.

Watch out for

  • No built-in IMAP; needs mbsync or a similar sync tool.
  • Custom tags stay in the local index; only standard flags such as unread and replied reach the IMAP server.
  • Requires Emacs and some Emacs Lisp to configure.

Install Notmuch Emacs interface

Questions

What is the difference between mu4e and Notmuch Emacs interface?

Only Notmuch Emacs interface has built-in notmuch. mu4e is written in Emacs Lisp (mu4e), C++ (mu); Notmuch Emacs interface in Emacs Lisp. Configuration: mu4e uses Emacs Lisp in init.el, and Notmuch Emacs interface uses Emacs Lisp in init.el plus the notmuch config file.

Which runs on Windows, mu4e or Notmuch Emacs interface?

On Windows, mu4e runs through WSL. On Windows, Notmuch Emacs interface runs through WSL.

See also: mu4e alternatives, Notmuch Emacs interface alternatives.