alot vs Notmuch Emacs interface
alot: Terminal mail reader written in Python that works on a local notmuch database, with tag-based search and threads.
Notmuch Emacs interface: Emacs front end for notmuch that reads, searches, tags and composes mail from a local Maildir.
Differences
- alot is a full-screen terminal client; Notmuch Emacs interface is a mail client that runs inside Emacs.
- Only Notmuch Emacs interface has built-in SMTP.
- On Android, alot is not available and Notmuch Emacs interface runs through Termux.
- Notmuch Emacs interface has calendar support; alot does not.
- Notmuch Emacs interface has S/MIME; alot does not.
- Notmuch Emacs interface has OAuth2 sign-in; alot does not.
- alot has Vim-style keys; Notmuch Emacs interface does not.
- alot is written in Python; Notmuch Emacs interface in Emacs Lisp.
- Configuration: alot uses INI-style config file plus optional Python hooks, and Notmuch Emacs interface uses Emacs Lisp in init.el plus the notmuch config file.
Side by side
| alot | Notmuch Emacs interface | |
|---|---|---|
| Interface | Full-screen terminal interface | Runs inside Emacs |
| Language | Python | Emacs Lisp |
| License | GPL 3.0 or later | GPL 3.0 or later |
| Latest version | 0.12 | 0.40 |
| Linux | Native | Native |
| macOS | Native | Native |
| Windows | Through WSL | Through WSL |
| BSD | Native | Native |
| Android | No | Through Termux |
| IMAP | Through a separate tool | Through a separate tool |
| POP3 | Through a separate tool | Through a separate tool |
| SMTP | Through a separate tool | Yes |
| JMAP | No | No |
| Maildir | Yes | Yes |
| mbox | No | No |
| notmuch | Yes | Yes |
| OpenPGP | Yes | Yes |
| S/MIME | No | Yes |
| OAuth2 sign-in | No | via script |
| Threads | Yes | Yes |
| Search | notmuch queries | notmuch Xapian full-text search with tags |
| HTML mail | via mailcap, e.g. w3m -dump | built-in, rendered with the Emacs shr library |
| Mouse | Yes | Yes |
| Multiple accounts | Yes | Yes |
| Offline use | always; reads a local notmuch database | full; reads a local Maildir synced by mbsync or OfflineIMAP |
| Calendar | No | shows text/calendar parts; no invitation replies |
| Contacts | via an external lookup command such as abook, khard or notmuch address | address completion from the notmuch index |
| Vim-style keys | Yes | No |
| Configuration | INI-style config file plus optional Python hooks | Emacs Lisp in init.el plus the notmuch config file |
Which to choose
Choose alot for
- Tag-based searches through notmuch instead of folders
- Full PGP/MIME signing and encryption
- Python hooks for custom behavior and formatting
Watch out for
- Needs separate tools to fetch mail (mbsync) and send it (msmtp)
- No direct IMAP, POP3 or SMTP support
- No S/MIME support
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 alot and Notmuch Emacs interface?
alot is a full-screen terminal client; Notmuch Emacs interface is a mail client that runs inside Emacs. Only Notmuch Emacs interface has built-in SMTP. On Android, alot is not available and Notmuch Emacs interface runs through Termux.
Which runs on Windows, alot or Notmuch Emacs interface?
On Windows, alot runs through WSL. On Windows, Notmuch Emacs interface runs through WSL.
See also: alot alternatives, Notmuch Emacs interface alternatives.