Gnus vs Notmuch Emacs interface
Gnus: Mail and news reader built into GNU Emacs, with back ends for IMAP, POP3, local mail folders and NNTP.
Notmuch Emacs interface: Emacs front end for notmuch that reads, searches, tags and composes mail from a local Maildir.
Differences
- Only Gnus has built-in IMAP, POP3 and mbox.
- Only Notmuch Emacs interface has built-in notmuch.
- On Windows, Gnus runs natively and Notmuch Emacs interface runs through WSL.
- Configuration: Gnus uses Emacs Lisp in init.el or ~/.gnus.el, and Notmuch Emacs interface uses Emacs Lisp in init.el plus the notmuch config file.
Side by side
| Gnus | Notmuch Emacs interface | |
|---|---|---|
| Interface | Runs inside Emacs | Runs inside Emacs |
| Language | Emacs Lisp | Emacs Lisp |
| License | GPL 3.0 or later | GPL 3.0 or later |
| Latest version | 5.13 (bundled with Emacs 31.1) | 0.40 |
| Linux | Native | Native |
| macOS | Native | Native |
| Windows | Native | Through WSL |
| BSD | Native | Native |
| Android | Through Termux | Through Termux |
| IMAP | Yes | Through a separate tool |
| POP3 | Yes | Through a separate tool |
| SMTP | Yes | Yes |
| JMAP | No | No |
| Maildir | Yes | Yes |
| mbox | Yes | No |
| notmuch | Through a separate tool | Yes |
| OpenPGP | Yes | Yes |
| S/MIME | Yes | Yes |
| OAuth2 sign-in | via plugin | via script |
| Threads | Yes | Yes |
| Search | gnus-search: IMAP SEARCH, or notmuch, mu, mairix and other local indexers | 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 | Yes | Yes |
| Offline use | via the Gnus agent or local Maildir back ends | full; reads a local Maildir synced by mbsync or OfflineIMAP |
| Calendar | replies to invitations with gnus-icalendar | shows text/calendar parts; no invitation replies |
| Contacts | via BBDB or EUDC | address completion from the notmuch index |
| Vim-style keys | No | No |
| Configuration | Emacs Lisp in init.el or ~/.gnus.el | Emacs Lisp in init.el plus the notmuch config file |
Which to choose
Choose Gnus for
- Included with every GNU Emacs install, including native Windows builds.
- Reads IMAP directly, plus local Maildir, MH and mbox stores and NNTP newsgroups.
- Scoring, splitting and the Gnus agent allow detailed filtering and offline reading.
Watch out for
- The group, summary and article model takes time to learn.
- IMAP access runs inside Emacs, so large mailboxes can make Emacs wait.
- Configuration is Emacs Lisp spread across many variables.
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 Gnus and Notmuch Emacs interface?
Only Gnus has built-in IMAP, POP3 and mbox. Only Notmuch Emacs interface has built-in notmuch. On Windows, Gnus runs natively and Notmuch Emacs interface runs through WSL.
Which runs on Windows, Gnus or Notmuch Emacs interface?
On Windows, Gnus runs natively. On Windows, Notmuch Emacs interface runs through WSL.
See also: Gnus alternatives, Notmuch Emacs interface alternatives.