This commit deactivates account selection and switching support if the account list isn't defined. We also don't need the follow-up action of undoing the account selection changes, so we can just skip both of the hooks. This is useful for users who only have 1 account - they don't need the helm popup to select which account to use. They can just define the variables outside of the `mu4e-account-list`.
3.5 KiB
mu4e layer for Spacemacs
Installation
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")))
Commands
Keybinding | Command |
---|---|
SPC a M | Start mu4e |
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.
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.
Make sure you call `mu4e/mail-account-reset` afterward, which will initialize the given account variables.
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.