4ef5184acf
Currently, in multi-account mode, the mu4e layer guesses which account to use to reply a message by its "maildir". However, some messages may be forwarded and may need to use the original email address to reply. This commit detects whether such an email address is defined in "mu4e-account-alist", and uses that to do the replying if possible. |
||
---|---|---|
.. | ||
config.el | ||
funcs.el | ||
packages.el | ||
README.org |
Mu4e layer
Install
In order to use this layer you must install mu and mu4e separately. Typically mu4e will be bundled with mu (this is the case on many Linux distributions).
If the installation directory of mu4e is not in Emacs’ load path, you can set
the layer variable mu4e-installation-path
, for example:
(setq-default dotspacemacs-configuration-layers
'((mu4e :variables
mu4e-installation-path "/usr/share/emacs/site-lisp")))
Then add this layer to your ~/.spacemacs
. You will need to add mu4e
to the
existing dotspacemacs-configuration-layers
list in this file.
Commands
Global bindings
Keybinding | Command |
---|---|
SPC a M | Start mu4e |
Headers mode
Keybinding | Command |
---|---|
J | Go to next unread thread marking other mail read on the way |
C-j | Next header |
C-k | Previous header |
View mode
Keybinding | Command |
---|---|
J | Go to next unread thread marking other mail read on the way |
C-j | Next header |
C-k | Previous header |
Configuration
Configuration varies too much to give precise instructions. What follows is one example configuration. Refer to mu4e's manual for more detailed configuration instructions.
Maildirs extension
The maildirs extension adds a list of all your maildirs to the main mu4e view that by default shows the unread and total mail counts for all your mail under your base mail directory.
This extension is enabled by default, you can deactivate (and uninstall) it by
adding the package = to your dotfile variable =dotspacemacs-excluded-packages
.
Multiple Accounts
This layer includes support for multiple sending accounts.
If you have only one account you do not need to define this variable.
If you have multiple accounts, configure the mu4e-account-alist
variable:
(setq mu4e-account-alist
'(("gmail"
;; Under each account, set the account-specific variables you want.
(mu4e-sent-messages-behavior delete)
(mu4e-sent-folder "/gmail/[Gmail]/.Sent Mail")
(mu4e-drafts-folder "/gmail/[Gmail]/.Drafts")
(user-mail-address "billy@gmail.com")
(user-full-name "Billy"))
("college"
(mu4e-sent-messages-behavior sent)
(mu4e-sent-folder "/college/Sent Items")
(mu4e-drafts-folder "/college/Drafts")
(user-mail-address "bb15@college.edu")
(user-full-name "Billy Bob 15"))))
(mu4e/mail-account-reset)
The first account listed will be the default account, so variables like
user-full-name
, which is used by other parts of Emacs, will have their value
reset for the default account after sending each email.
Note that the mu4e layer expects mu4e-account-alist
to be defined before the
layer is loaded. For example, you can set mu4e-account-alist
to a dummy
setting in dotspacemacs/layers
:
(mu4e :variables mu4e-account-alist t)
and then actually set mu4e-account-alist
later in dotspacemacs/user-config
.
Make sure you call mu4e/mail-account-reset
afterward, which will initialize
the given account variables.
If you have mu 0.9.16 or later, you can use mu4e's built-in contexts feature instead (see mu4e's manual).
Example configuration
;;; Set up some common mu4e variables
(setq mu4e-maildir "~/.mail"
mu4e-trash-folder "/Trash"
mu4e-refile-folder "/Archive"
mu4e-get-mail-command "mbsync -a"
mu4e-update-interval nil
mu4e-compose-signature-auto-include nil
mu4e-view-show-images t
mu4e-view-show-addresses t)
;;; Mail directory shortcuts
(setq mu4e-maildir-shortcuts
'(("/gmail/INBOX" . ?g)
("/college/INBOX" . ?c)))
;;; Bookmarks
(setq mu4e-bookmarks
`(("flag:unread AND NOT flag:trashed" "Unread messages" ?u)
("date:today..now" "Today's messages" ?t)
("date:7d..now" "Last 7 days" ?w)
("mime:image/*" "Messages with images" ?p)
(,(mapconcat 'identity
(mapcar
(lambda (maildir)
(concat "maildir:" (car maildir)))
mu4e-maildir-shortcuts) " OR ")
"All inboxes" ?i)))
See also
Refer to the official mu and mu4e documentation for additional info.