Terminal Email

Gnus

EmacsEmail client

Mail and news reader built into GNU Emacs, with back ends for IMAP, POP3, local mail folders and NNTP.

Gnus ships with GNU Emacs, so it needs no separate install once Emacs is present. It treats mail folders, IMAP mailboxes and Usenet newsgroups alike as groups, and can talk to IMAP directly or work on local Maildir, MH and mbox stores. Sending goes through Emacs message mode and smtpmail. It suits Emacs users who want one program for mail, newsgroups and feeds and are willing to learn its group and summary model.

Type
Email client
Interface
Runs inside Emacs
Systems
Runs on Linux, macOS, Windows and BSD, on Android through Termux.
Language
Emacs Lisp
License
GPL 3.0 or later
Latest version
5.13 (bundled with Emacs 31.1)
Background
Rewrite of GNUS, the earlier Emacs newsreader; part of GNU Emacs
Maintained
Yes
Website
gnus.org
Source
git.savannah.gnu.org/cgit/emacs.git/tree/lisp/gnus
Documentation
gnu.org

Install

SystemSupportInstall
LinuxNative
aptsudo apt install emacs
dnfsudo dnf install emacs
pacmansudo pacman -S emacs
macOSNative
Homebrewbrew install emacs
Homebrew Caskbrew install --cask emacs-app
WindowsNative
wingetwinget install GNU.Emacs
Scoopscoop bucket add extras && scoop install extras/emacs

Gnus runs in native Windows builds of GNU Emacs.

BSDNative
FreeBSD pkgpkg install emacs
OpenBSDpkg_add emacs
AndroidThrough Termux
Termuxpkg install emacs

Protocols and features

Protocols
ProtocolGnus
IMAPYes
POP3Yes
SMTPYes
JMAPNo
MaildirYes
mboxYes
notmuchThrough a separate tool
Features
FeatureGnus
OpenPGPYes
S/MIMEYes
OAuth2 sign-invia plugin
ThreadsYes
Searchgnus-search: IMAP SEARCH, or notmuch, mu, mairix and other local indexers
HTML mailbuilt-in, rendered with the Emacs shr library
MouseYes
Multiple accountsYes
Offline usevia the Gnus agent or local Maildir back ends
Calendarreplies to invitations with gnus-icalendar
Contactsvia BBDB or EUDC
Vim-style keysNo
ConfigurationEmacs Lisp in init.el or ~/.gnus.el

Pros and cons

Pros

  • 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.

Cons

  • 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.

Use Gnus with Forward Email

A working setup for a Forward Email mailbox. Replace you@example.com with your alias and the password command with your own. The same settings work with any provider once the server names change.

~/.emacs.d/init.el
;; ~/.emacs.d/init.el (or ~/.gnus.el)
(setq user-mail-address "you@example.com"
      user-full-name "Your Name"
      gnus-select-method
      '(nnimap "forwardemail"
               (nnimap-address "imap.forwardemail.net")
               (nnimap-server-port 993)
               (nnimap-stream tls)
               (nnimap-user "you@example.com"))
      gnus-message-archive-group "nnimap+forwardemail:Sent Mail"
      message-send-mail-function 'smtpmail-send-it
      smtpmail-smtp-server "smtp.forwardemail.net"
      smtpmail-smtp-service 465
      smtpmail-stream-type 'ssl
      smtpmail-smtp-user "you@example.com")

;; Passwords in ~/.authinfo.gpg (read by Emacs auth-source):
;; machine imap.forwardemail.net login you@example.com port 993 password YOUR-GENERATED-PASSWORD
;; machine smtp.forwardemail.net login you@example.com port 465 password YOUR-GENERATED-PASSWORD
;; Start with M-x gnus
ProtocolServerPortSecurity
IMAPimap.forwardemail.net993SSL/TLS
POP3pop3.forwardemail.net995SSL/TLS
SMTPsmtp.forwardemail.net465SSL/TLS
SMTPsmtp.forwardemail.net587STARTTLS

Username: your full alias address, such as you@example.com. Password: the one shown by Generate Password next to the alias in your Forward Email account. Folders: INBOX, Drafts, Sent Mail, Trash, Spam and Archive.

Prefer no config at all? Forward Email's terminal app signs in with your account and has mail, calendar and contacts in one program.

Compare Gnus

All Gnus alternatives

Questions

Does Gnus work on Windows?

Yes, it runs natively on Windows. Gnus runs in native Windows builds of GNU Emacs.

Does Gnus support IMAP?

Yes, Gnus connects to IMAP servers directly.

Is Gnus open source?

Yes, under the GPL 3.0 or later.

How do I use Gnus with Forward Email?

Use the config in the Forward Email section on this page, saved as ~/.emacs.d/init.el, and replace the address and password with your own.

Sources