;;; email.el --- My email settings -*- lexical-binding: t -*- ;; Author: William Carroll <wpcarro@gmail.com> ;; Version: 0.0.1 ;; Package-Requires: ((emacs "24")) ;;; Commentary: ;; Attempting to configure to `notmuch' for my personal use. ;;; Code: ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; Dependencies ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (require 'notmuch) (require 'list) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; Configuration ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (setq notmuch-saved-searches '((:name "inbox" :query "tag:inbox" :key "i") (:name "direct" :query "tag:direct and tag:unread and not tag:sent" :key "d") (:name "action" :query "tag:action" :key "a") (:name "review" :query "tag:review" :key "r") (:name "waiting" :query "tag:waiting" :key "w") (:name "broadcast" :query "tag:/broadcast\/.+/ and tag:unread" :key "b") (:name "systems" :query "tag:/systems\/.+/ and tag:unread" :key "s") (:name "sent" :query "tag:sent" :key "t") (:name "drafts" :query "tag:draft" :key "D"))) ;; Sort results from newest-to-oldest. (setq notmuch-search-oldest-first nil) ;; Discard noisy email signatures. (setq notmuch-mua-cite-function #'message-cite-original-without-signature) ;; By default, this is just '("-inbox") (setq notmuch-archive-tags '("-inbox" "-unread" "+archive")) ;; Show saved searches even when they're empty. (setq notmuch-show-empty-saved-searches t) ;; Currently the sendmail executable on my system is symlinked to msmtp. (setq send-mail-function #'sendmail-send-it) ;; I'm not sure if I need this or not. Copying it from tazjin@'s monorepo. (setq notmuch-always-prompt-for-sender nil) ;; Add the "User-Agent" header to my emails and ensure that it includes Emacs ;; and notmuch information. (setq notmuch-mua-user-agent-function (lambda () (format "Emacs %s; notmuch.el %s" emacs-version notmuch-emacs-version))) ;; I was informed that Gmail does this server-side (setq notmuch-fcc-dirs nil) ;; Ensure buffers are closed after sending mail. (setq message-kill-buffer-on-exit t) ;; Ensure sender is correctly passed to msmtp. (setq mail-specify-envelope-from t message-sendmail-envelope-from 'header mail-envelope-from 'header) ;; Assert that no two saved searches share share a KBD (prelude-assert (list-xs-distinct-by? (lambda (x) (plist-get x :key)) notmuch-saved-searches)) (provide 'email) ;;; email.el ends here