summaryrefslogtreecommitdiffstats
path: root/lisp/init-mail.el
diff options
context:
space:
mode:
authorMartin Polden <mpolden@mpolden.no>2018-11-07 17:45:51 +0100
committerMartin Polden <mpolden@mpolden.no>2018-11-07 17:45:51 +0100
commit9fb9b6dab06cefdb134011dd7fcc365f68d9c4ae (patch)
tree6baaba665643c16caa68dc815333404b82408392 /lisp/init-mail.el
parentc80dcc63a748acb3d397642b0c5df5f93603232c (diff)
Rename mail config
Diffstat (limited to 'lisp/init-mail.el')
-rw-r--r--lisp/init-mail.el80
1 files changed, 80 insertions, 0 deletions
diff --git a/lisp/init-mail.el b/lisp/init-mail.el
new file mode 100644
index 0000000..f8a47e0
--- /dev/null
+++ b/lisp/init-mail.el
@@ -0,0 +1,80 @@
+(use-package mu4e
+ :ensure nil ;; package is installed outside emacs
+ :load-path "/usr/local/share/emacs/site-lisp/mu/mu4e"
+ :bind (("C-c m" . mu4e))
+ :init
+ ;; use mu4e as mail user agent
+ (setq mail-user-agent 'mu4e-user-agent)
+
+ ;; kill buffer after sending message
+ (setq message-kill-buffer-on-exit t)
+
+ ;; use format=flowed when sending message
+ (setq mu4e-compose-format-flowed t)
+
+ ;; always show addresses
+ (setq mu4e-view-show-addresses t)
+
+ ;; disable threads by default
+ (setq mu4e-headers-show-threads nil)
+
+ ;; header list date format
+ (setq mu4e-headers-date-format "%Y-%m-%d %H:%M")
+
+ ;; adjust date field width to fit the above format
+ (setq mu4e-headers-fields '((:human-date . 18)
+ (:flags . 6)
+ (:mailing-list . 10)
+ (:from . 22)
+ (:subject)))
+
+ ;; fastmail folders
+ (setq mu4e-sent-folder "/Sent"
+ mu4e-drafts-folder "/Drafts"
+ mu4e-trash-folder "/Trash"
+ mu4e-refile-folder "/Archive")
+
+ ;; mbsync downloads email
+ (setq mu4e-get-mail-command "mbsync fastmail")
+
+ ;; change filename when moving (recommended when using mbsync)
+ (setq mu4e-change-filenames-when-moving t)
+
+ ;; shortcuts
+ (setq mu4e-maildir-shortcuts '(("/INBOX" . ?i)
+ ("/Archive" . ?a)
+ ("/Sent" . ?s)
+ ("/Trash" . ?t)))
+
+ ;; increase readability when using dark theme
+ (setq shr-color-visible-luminance-min 80)
+
+ :config
+ ;; use email address from git
+ (when (executable-find "git")
+ (setq user-full-name (string-trim (shell-command-to-string
+ "git config --global --get user.name"))
+ user-mail-address (string-trim (shell-command-to-string
+ "git config --global --get user.email"))))
+
+ ;; delete moves email to trash
+ :bind (:map mu4e-headers-mode-map ("d" . "mt")
+ :map mu4e-view-mode-map ("d" . "mt")))
+
+(use-package org-mu4e
+ :ensure nil ;; package is installed outside emacs
+ :load-path "/usr/local/share/emacs/site-lisp/mu/mu4e"
+ :after mu4e)
+
+(use-package smtpmail
+ :ensure nil ;; package is bundled with emacs
+ :init
+ ;; use smtpmail
+ (setq send-mail-function 'smtpmail-send-it)
+
+ ;; smtp server
+ (setq smtpmail-smtp-server "smtp.fastmail.com"
+ smtpmail-smtp-service 465
+ smtpmail-stream-type 'ssl))
+
+(provide 'init-email)