Terminal Email

Gnus vs S-nail

Gnus: Mail and news reader built into GNU Emacs, with back ends for IMAP, POP3, local mail folders and NNTP.
S-nail: Command-line mail program that implements POSIX mailx, with MIME, IMAP, POP3, SMTP, Maildir and S/MIME support.

Differences

Side by side

GnusS-nail
InterfaceRuns inside EmacsCommand-line tools and prompts
LanguageEmacs LispC
LicenseGPL 3.0 or laterISC and BSD 2-Clause and BSD 3-Clause and BSD 4-Clause
Latest version5.13 (bundled with Emacs 31.1)14.9.25
LinuxNativeNative
macOSNativeNative
WindowsNativeThrough WSL
BSDNativeNative
AndroidThrough TermuxNo
IMAPYesYes
POP3YesYes
SMTPYesYes
JMAPNoNo
MaildirYesYes
mboxYesYes
notmuchThrough a separate toolNo
OpenPGPYesNo
S/MIMEYesYes
OAuth2 sign-invia pluginvia script
ThreadsYesYes
Searchgnus-search: IMAP SEARCH, or notmuch, mu, mairix and other local indexersbuilt-in message specifications and the search command; IMAP SEARCH on IMAP folders
HTML mailbuilt-in, rendered with the Emacs shr librarybuilt-in tag-soup filter or external viewer via mailcap
MouseYesNo
Multiple accountsYesYes
Offline usevia the Gnus agent or local Maildir back endsIMAP cache with disconnected mode
Calendarreplies to invitations with gnus-icalendarNo
Contactsvia BBDB or EUDCaliases via the alias command
Vim-style keysNoNo
ConfigurationEmacs Lisp in init.el or ~/.gnus.el~/.mailrc command 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.

Install Gnus

Choose S-nail for

  • Drop-in POSIX mailx, so it works in existing shell scripts and cron jobs.
  • Built-in SMTP, POP3 and IMAP with TLS; no separate sync or send tool needed.
  • S/MIME signing and encryption are built in.

Watch out for

  • Line-oriented prompt instead of a full-screen interface.
  • No built-in OpenPGP; upstream documents a gpg pipe workaround only.
  • IMAP support is kept at an older code level and upstream advises care.

Install S-nail

Questions

What is the difference between Gnus and S-nail?

Gnus is a mail client that runs inside Emacs; S-nail is a command-line program. On Windows, Gnus runs natively and S-nail runs through WSL. On Android, Gnus runs through Termux and S-nail is not available.

Which runs on Windows, Gnus or S-nail?

On Windows, Gnus runs natively. On Windows, S-nail runs through WSL.

See also: Gnus alternatives, S-nail alternatives.