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/notmuch
Francesc Elies Henar fea2b1e037 add notmuch layer
This patch adds a notmuch[1] layer to Spacemacs!

notmuch is a mail indexing system written in C. It provides an emacs
interface, and this patch adds Spacemacs support for this interface.

Thanks to @FrancescElies for starting this work, and working with me to
get it finished. We have been using the layer for awhile now and are
happy with the initial release!

Closes #2163

[1] https://notmuchmail.org/

Tested-by: Francesc Elies <elies@posteo.net>
Tested-by: William Casarin <jb55@jb55.com>
Signed-off-by: William Casarin <jb55@jb55.com>
2017-12-17 19:35:05 -05:00
..
config.el add notmuch layer 2017-12-17 19:35:05 -05:00
funcs.el add notmuch layer 2017-12-17 19:35:05 -05:00
notmuch-logo.png add notmuch layer 2017-12-17 19:35:05 -05:00
packages.el add notmuch layer 2017-12-17 19:35:05 -05:00
README.org add notmuch layer 2017-12-17 19:35:05 -05:00

Notmuch layer

/TakeV/spacemacs/media/commit/020eee4501487d761affedd9294231284a9c0c59/layers/+email/notmuch/notmuch-logo.png

Description

Notmuch offers a fast, global-search and tag-based email system to use within your text editor or in a terminal.

This layer integrates notmuch emacs package into spacemacs.

Features:

  • Email searching
  • Email tagging

Install

In order to use this layer you must install notmuch separately.

To install not much follow the instructions in installation instructions.

Then add this layer to your ~/.spacemacs. You will need to add notmuch to the existing dotspacemacs-configuration-layers list in this file.

Sending and Receiving emails

For this you will need an external program.

Receiving emails

To be able to receive email you will need to configure an external program to do it. See the receive mail section.

After you configured your email fetcher program, maybe you would like to synchronize the email each time you call notmuch, in order to do that you could customize the variable notmuch-hello-mode-hook to call a lisp function that calls your email syncing utility.

Sending emails with Thunderbird

Sending emails with msmtp

Download and Install msmtp

Configure ~/.mailrc with the path where msmtp is found.

For example:

set sendmail="/usr/local/bin/msmtp"

Configure ~/.msmtprc example

Key bindings

Global bindings

Keybinding Command
SPC a N N Start notmuch
SPC a N n Start helm notmuch
SPC a N j Start a notmuch jump search
SPC a N s Start a notmuch search

Hello mode

Evilified state
Keybinding Command
J Jump to a saved search
s Show threads matching QUERY

Search mode

Evilified state
Keybinding Command
J Jump to saved search
* [Thread] Add/Remove tags
+ [Message] Add tags
- [Message] Remove tags
a [Message] Archive

Tree mode

Evilified state
Keybinding Command
* [Thread] Add/Remove tags
+ [Message] Add tags
- [Message] Remove tags
a [Message] Archive

Show mode

Keybinding Command
SPC m a [ATTACHMENTS] Save all attachments
SPC m P o [PATCH] Open github patch in a new buffer
SPC m p m [PART] Choose the mime type to use for displaying
SPC m p \vert [PART] Pipe part at point to an external command
SPC m p o [PART] View part at point (prompt for a viewer)
SPC m p v [PART] View part at point in an external viewer
SPC m p s [PART] Save part at point to a file
SPC m s c [STASH] Copy CC to kill-ring
SPC m s d [STASH] Copy timestamp to kill-ring
SPC m s G [STASH] Copy From/To/Cc/Message-Id of current message to kill-ring
SPC m s l [STASH] [Mailing List Archive] Copy ML Archive URI to kill-ring
SPC m s L [STASH] [Mailing List Archive] Copy ML Archive URI to kill-ring and visit it
SPC m s i [STASH] Copy message-id to kill-ring
SPC m s I [STASH] Copy message-id without id: prefix to kill-ring
SPC m s f [STASH] Copy From address to kill-ring
SPC m s F [STASH] Copy filename to kill-ring
SPC m s s [STASH] Copy Subject to kill-ring
SPC m s t [STASH] Copy To address to kill-ring
SPC m s T [STASH] Copy tags to kill-ring
Evilified state
Keybinding Description
o Open all messages
O Close all messages
n Show next open message
N Show next message
p Show previous open message
P Show previous message
C-n Show next thread
C-p Show previous thread
d Delete messages down
D Delete messages up
J Jump search
L Filter current search
gf Find file or URL at point
gg Jump to top
G Jump to bottom
gr Refresh buffer
gR Refresh all buffers
m Compose mail

See also

Refer to the official notmuch website for more information.