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
- 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.
Side by side
| mu4e | Notmuch Emacs interface | |
|---|---|---|
| Interface | Runs inside Emacs | Runs inside Emacs |
| Language | Emacs Lisp (mu4e), C++ (mu) | Emacs Lisp |
| License | GPL 3.0 or later | GPL 3.0 or later |
| Latest version | 1.14.3 | 0.40 |
| Linux | Native | Native |
| macOS | Native | Native |
| Windows | Through WSL | Through WSL |
| BSD | Native | Native |
| Android | Through Termux | Through Termux |
| IMAP | Through a separate tool | Through a separate tool |
| POP3 | Through a separate tool | Through a separate tool |
| SMTP | Yes | Yes |
| JMAP | No | No |
| Maildir | Yes | Yes |
| mbox | No | No |
| notmuch | No | Yes |
| OpenPGP | Yes | Yes |
| S/MIME | via Emacs MML | Yes |
| OAuth2 sign-in | via script | via script |
| Threads | Yes | Yes |
| Search | Xapian full-text index with mu query syntax | notmuch Xapian full-text search with tags |
| HTML mail | built-in, rendered with the Emacs shr library | built-in, rendered with the Emacs shr library |
| Mouse | Yes | Yes |
| Multiple accounts | via contexts | Yes |
| Offline use | full; reads a local Maildir synced by mbsync or OfflineIMAP | full; reads a local Maildir synced by mbsync or OfflineIMAP |
| Calendar | replies to invitations with mu4e-icalendar | shows text/calendar parts; no invitation replies |
| Contacts | address completion from indexed mail | address completion from the notmuch index |
| Vim-style keys | No | No |
| Configuration | Emacs Lisp in init.el | Emacs 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.
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.
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.