Table of Contents

Gnus layer

Table of ContentsClose

gnus.gif

1 Description

This layer integrates a general purpose email/newsgroup client into Spacemacs.

1.1 Features:

  • Support for reading RSS feeds, newsgroups and mails directly within Emacs via Gnus.
  • Support for beautiful HTML mails generated from any org buffer.
  • Support for credential management via GnuPG.

2 Install

To use this configuration layer, add it to your ~/.spacemacs. You will need to add gnus to the existing dotspacemacs-configuration-layers list in this file.

3 Basic Concepts

Gnus is a news reading application. The Gnus terminology can be confusing for new users so the basics are listed here:

  • A Newsgroup but can also be a RSS Feed or a mail directory
  • Newsgroups can be assigned to topics which will be used to structure the Group Buffer if Topic Mode is enabled(default).

4 Adding news sources

Adding news sources can be done in your .spacemacs file by adding the following:

;; Get email, and store in nnml
(setq gnus-secondary-select-methods
  '(
    (nntp "gmane"
           (nntp-address "news.gmane.org"))
    (nntp "news.eternal-september.org")
    (nntp "nntp.aioe.org")
    (nntp "news.gwene.org")
    ))

For adding RSS Feeds please see the key bindings section.

5 Configuring gmail

To configure Gnus with gmail support you can add the following to your .spacemacs file.

;; Get email, and store in nnml
(setq gnus-secondary-select-methods
'(
  (nnimap "gmail"
           (nnimap-address
            "imap.gmail.com")
           (nnimap-server-port 993)
           (nnimap-stream ssl))
  ))

;; Send email via Gmail:
(setq message-send-mail-function 'smtpmail-send-it
  smtpmail-default-smtp-server "smtp.gmail.com")

;; Archive outgoing email in Sent folder on imap.gmail.com:
(setq gnus-message-archive-method '(nnimap "imap.gmail.com")
    gnus-message-archive-group "[Gmail]/Sent Mail")

;; Set return email address based on incoming email address
(setq gnus-posting-styles
    '(((header "to" "address@outlook.com")
       (address "address@outlook.com"))
  ((header "to" "address@gmail.com")
     (address "address@gmail.com"))))

;; Store email in ~/gmail directory
(setq nnml-directory "~/gmail")
(setq message-directory "~/gmail")

Authentication for your gmail account is best stored in an authinfo or authinfo.pgp file. It must be of the form:

machine smtp.gmail.com login name@gmail.com password SUPER_SECRET_PASS
machine imap.gmail.com login name@gmail.com port 993 password SUPER_SECRET_PASS

If you use two-step verification the password has to be an application specific password.

6 Org MIME in Org layer

It is possible to send beautiful HTML emails using org mode.

Pressing SPC m e m in a message buffer will convert the current message from org mode to html. An org mode buffer can be sent via html email by pressing SPC m e m in any org mode buffer.

7 Key bindings

Gnus has very modal default keybindings. Please see the manual for a complete list.

Basic and Spacemacs specific key bindings can be found in the following table.

Key binding Gnus mode - Description
SPC a g Starts Gnus
m New Message
O R, G R (emacs) Group Buffer - Add RSS feed
g r Group Buffer - Check for new mail
^ Open Server Buffer. Browse Newsgroups.
T n Group Buffer - new Topic
T m Group Buffer - Move Group to Topic
K Article Buffer - Previous article
J Article Buffer - Next article
RET Summary Buffer(RSS) - Open article Link in browser
TAB Summary Buffer(RSS) - Open article and switch to it

Author: root

Created: 2019-11-10 Sun 14:17

Validate