From ec080ddb66f73ec2ce5b1ff99a794f72aa14c427 Mon Sep 17 00:00:00 2001 From: Thanos Apollo Date: Thu, 26 Jan 2023 17:14:47 +0200 Subject: emacs: Add email-module --- .emacs.d/snippets/email-module.el | 64 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 64 insertions(+) create mode 100644 .emacs.d/snippets/email-module.el diff --git a/.emacs.d/snippets/email-module.el b/.emacs.d/snippets/email-module.el new file mode 100644 index 0000000..bb5559f --- /dev/null +++ b/.emacs.d/snippets/email-module.el @@ -0,0 +1,64 @@ +(require 'mu4e) + +(setq mu4e-update-interval (* 10 60)) +(setq mu4e-get-mail-command "mbsync -a") +(setq mu4e-maildir-list "~/Mail/Inbox") +;; 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 server) + "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-trash-folder . ,(concat dir-name "/Starred")) + (mu4e-refile-folder . ,(concat dir-name "/Archive")) + (smtpmail-smtp-server . , server) + (mu4e-compose-signature . ,signature))))) + ;;Fixing duplicate UID errors when using mbsync and mu4e +(setq mu4e-change-filenames-when-moving t) + +(setq mu4e-maildir-shortcuts + '(("/Gmail/Inbox" . ?i) + ("/Fastmail/Inbox" . ?s) + ;; ("/Gmail/Trash" . ?t) + ;; ("/Gmail/Drafts" . ?d) + ;; ("/Gmail/[Gmail]/All Mail" . ?a + )) + +(setq mu4e-contexts + `(,(my-make-mu4e-context + "Gmail" "Thanos Apollo" + "apollothanosmd@gmail.com" "Thanos\n https://thanosapollo.co" + "smtp.gmail.com") + ,(my-make-mu4e-context + "Fastmail" "Thanos Apollo" + "thanos@thanosapollo.com" "Thanos" + "smtp.fastmail.com"))) + +(setq smtpmail-smtp-service 465 + smtpmail-stream-type 'ssl + smtpmail-smtp-server "smtp.fastmail.com") + + + +(setq message-send-mail-function 'smtpmail-send-it) -- cgit v1.2.3