3.7 KiB
Plain text email delivered via mu1, mu4e2 and mbsync3. I run my own email server4, so your configuration may differ from mine.
Sync
This is the mbsyncrc3 file I use to synchronize my local mail with my server.
IMAPStore xyz-remote Host mail.chrishayward.xyz User chris@chrishayward.xyz PassCmd "pass chrishayward.xyz/chris" SSLType IMAPS MaildirStore xyz-local Path ~/.cache/mail/ Inbox ~/.cache/mail/inbox SubFolders Verbatim Channel xyz Master :xyz-remote: Slave :xyz-local: Patterns * !Archives Create Both Expunge Both SyncState *
The system typically expects to find this file at $HOME/.mbsyncrc
, but you may also specify a custom path if launching the command using arguments. I chose to symlink the default location to my repository.
Indexing
Once mail has been synchronized you need to index it using mu1.
mbsync -a mu index --maildir="~/.cache/mail"
Integration
After syncing and indexing the mail is ready to be used inside of Emacs. Download and install mu4e2 and configure the mail account3.
-
Update every 5 minutes
-
Scale text for all devices
-
Sign outbound mail with GPG key
-
Configure mail account(s)
(use-package mu4e :load-path "/usr/share/emacs/site-lisp/mu4e" :custom (mu4e-maildir "~/.cache/mail") (mu4e-update-interval (* 5 60)) (mu4e-get-mail-command "mbsync -a") (mu4e-compose-format-flowed t) (mu4e-change-filenames-when-moving t) (message-send-mail-function 'smtpmail-send-it) (mml-secure-openpgp-signers '("37AB1CB72B741E478CA026D43025DCBD46F81C0F")) (mu4e-compose-signature (concat "Chris Hayward\n" "https://chrishayward.xyz\n")) :config (add-hook 'message-send-hook 'mml-secure-message-sign-pgpmime) (setq mu4e-contexts (list ;; Main ;; chris@chrishayward.xyz (make-mu4e-context :name "Main" :match-func (lambda (msg) (when msg (string-prefix-p "/Main" (mu4e-message-field msg :maildir)))) :vars '((user-full-name . "Christopher James Hayward") (user-mail-address . "chris@chrishayward.xyz") (smtpmail-smtp-server . "mail.chrishayward.xyz") (smtpmail-smtp-service . 587) (smtpmail-stream-type . starttls))))))
Keybinding
Create a keybinding to open the mail dashboard with SPC m
.
(dotfiles/leader "m" '(mu4e :which-key "Mail"))
Desktop notifications
Receive notifications for incoming mail via the mu4e-alert5 package.
(use-package mu4e-alert :after mu4e :custom (mu4e-alert-set-default-style 'libnotify) :config (mu4e-alert-enable-notifications) (mu4e-alert-enable-mode-line-display))
Resources
mailto:chris@chrishayward.xyz