summaryrefslogtreecommitdiff
path: root/config/emacs/site-lisp/my-mail.el
diff options
context:
space:
mode:
authorThomas Ulmer <thomasmulmer02@gmail.com>2026-02-04 14:24:16 -0800
committerThomas Ulmer <thomasmulmer02@gmail.com>2026-02-04 14:24:16 -0800
commit9139a1b136fa2b5adfcac0ac09a4f61aa1ee1ff4 (patch)
treede82bc4776b87f1fbb86f14b4a15d35d009ddd28 /config/emacs/site-lisp/my-mail.el
parenta9bf8f30c746f5b28bb7eb6938e8390127081a32 (diff)
full reorg
Diffstat (limited to 'config/emacs/site-lisp/my-mail.el')
-rw-r--r--config/emacs/site-lisp/my-mail.el52
1 files changed, 52 insertions, 0 deletions
diff --git a/config/emacs/site-lisp/my-mail.el b/config/emacs/site-lisp/my-mail.el
new file mode 100644
index 0000000..bcda232
--- /dev/null
+++ b/config/emacs/site-lisp/my-mail.el
@@ -0,0 +1,52 @@
+(use-package mu4e
+ :ensure nil
+ :demand nil
+ :init
+ ;; assumed Maildir layout
+ ;; ~/Maildir/Account0/{Inbox,Sent,Trash}
+ ;; ~/Maildir/Account1/{Inbox,Sent,Trash}
+ ;; where Account0 is context name
+ (defun my/make-mu4e-context (context-name full-name mail-address signature)
+ "Return a mu4e context named CONTEXT-NAME with :match-func matching
+ folder name CONTEXT-NAME in Maildir. The context's `user-mail-address',
+ `user-full-name' and `mu4e-compose-signature' is set to MAIL-ADDRESS
+ FULL-NAME and SIGNATURE respectively.
+ Special folders are set to context specific folders."
+ (let ((dir-name (concat "/" context-name)))
+ (make-mu4e-context
+ :name context-name
+ ;; we match based on the maildir of the message
+ ;; this matches maildir /Arkham and its sub-directories
+ :match-func
+ `(lambda (msg)
+ (when msg
+ (string-match-p
+ ,(concat "^" dir-name)
+ (mu4e-message-field msg :maildir))))
+ :vars
+ `((user-mail-address . ,mail-address)
+ (user-full-name . ,full-name)
+ (mu4e-sent-folder . ,(concat dir-name "/sent"))
+ (mu4e-drafts-folder . ,(concat dir-name "/drafts"))
+ (mu4e-trash-folder . ,(concat dir-name "/trash"))
+ (mu4e-refile-folder . ,(concat dir-name "/archive"))
+ (mu4e-compose-signature . ,signature)))))
+ :custom
+ (mu4e-change-filenames-when-moving t)
+ (mu4e-get-mail-command "mbsync --all")
+ :config
+ ;;Fixing duplicate UID errors when using mbsync and mu4e
+ (setq mu4e-contexts
+ `(,(my/make-mu4e-context
+ "thomasmulmer02" "Thomas Ulmer"
+ "thomasmulmer02@gmail.com" "Thanks,
+Thomas Ulmer")))
+
+ (require 'smtpmail)
+ (setq message-send-mail-function 'smtpmail-send-it)
+ (setq smtpmail-default-smtp-server "smtp.gmail.com"
+ smtpmail-smtp-server "smtp.gmail.com"
+ smtpmail-smtp-service 587
+ starttls-use-gnutls t
+ smtpmail-starttls-credentials '(("smtp.gmail.com" 587 nil nil))
+ smtp-auth-credentials (expand-file-name "~/.authinfo.gpg")))