1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
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")))
|