This repository has been archived on 2024-10-22. You can view files and clone it, but cannot push or open issues or pull requests.
spacemacs/layers/+email/gnus/README.org

125 lines
4.5 KiB
Org Mode
Raw Normal View History

#+TITLE: Gnus layer
2015-06-10 16:44:30 +00:00
[[file:img/gnus.gif]]
2016-03-31 02:59:55 +00:00
* Table of Contents :TOC_4_gh:noexport:
- [[#description][Description]]
- [[#features][Features:]]
2017-05-22 14:16:12 +00:00
- [[#install][Install]]
- [[#basic-concepts][Basic Concepts]]
- [[#adding-news-sources][Adding news sources]]
- [[#configuring-gmail][Configuring gmail]]
- [[#org-mime-in-org-layer][Org MIME in Org layer]]
- [[#keybindings][Keybindings]]
2015-06-10 16:44:30 +00:00
* Description
This layer integrates a general purpose email/newsgroup client into Spacemacs.
** Features:
- Support for reading RSS feeds, newsgroups and mails directly within emacs via [[http://www.gnus.org/][Gnus]].
- Support for beautiful HTML mails generated from any =org= buffer.
- Support for credential managment via [[https://gnupg.org/][GnuPG]].
2015-06-10 16:44:30 +00:00
* 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.
2015-06-10 16:44:30 +00:00
* Basic Concepts
Gnus is a news reading application. The Gnus terminology can be confusing for
new users so the basics are listed here:
- Group :: A Newsgroup but can also be a RSS Feed or a mail directory
- Topic :: Newsgroups can be assigned to topics which will be used to structure
the Group Buffer if Topic Mode is enabled(default).
2015-06-10 16:44:30 +00:00
* Adding news sources
Adding news sources can be done in your =.spacemacs= file by adding the
2015-06-10 16:44:30 +00:00
following:
#+BEGIN_SRC emacs-lisp
;; 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")
))
#+END_SRC
For adding RSS Feeds please see the [[#keybindings][keybindings section]].
2015-06-10 16:44:30 +00:00
* Configuring gmail
To configure Gnus with gmail support you can add the following to your
=.spacemacs= file.
2015-06-10 16:44:30 +00:00
#+BEGIN_SRC emacs-lisp
;; 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
2015-06-10 16:44:30 +00:00
(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
2015-06-10 16:44:30 +00:00
(setq nnml-directory "~/gmail")
(setq message-directory "~/gmail")
#+END_SRC
Authentication for your gmail account is best stored in an =authinfo= or
=authinfo.pgp= file. It must be of the form:
2015-06-10 16:44:30 +00:00
#+BEGIN_EXAMPLE
2015-06-10 16:44:30 +00:00
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
#+END_EXAMPLE
2015-06-10 16:44:30 +00:00
If you use two-step verification the password has to be an [[https://support.google.com/accounts/answer/185833?hl=en][application specific
password]].
* Org MIME in Org layer
2015-06-10 16:44:30 +00:00
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.
2015-06-10 16:44:30 +00:00
* Keybindings
Gnus has very modal default keybindings.
Please see the [[http://www.gnus.org/manual.html][manual]] for a complete list.
Basic and Spacemacs specific keybindings can be found in the following table.
| Key Binding | Gnus mode - Description |
|-------------+-----------------------------------------------------|
| ~SPC a g~ | Starts Gnus |
| ~m~ | New Message |
| ~G R~ | Group Buffer - Add RSS feed |
| ~^~ | 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 |