2 (require 'mu4e-contrib
)
3 (setq mail-user-agent
'mu4e-user-agent
)
4 (setq message-send-mail-function
'smtpmail-send-it
)
5 ;(setq message-sendmail-f-is-evil 't)
6 (setq message-sendmail-envelope-from
'header
)
7 ;;(setq message-sendmail-extra-arguments '("--read-envelope-from"))
8 ;;(setq sendmail-program "/usr/bin/msmtp")
9 ;;(setq sendmail-program "/usr/sbin/sendmail")
10 ;;(setq mu4e-html2text-command "html2text -utf8 -width 72")
11 (setq mu4e-html2text-command
'mu4e-shr2text
)
12 (setq mu4e-headers-sort-field
:date
)
13 (setq mu4e-headers-sort-direction
'ascending
)
14 (setq mu4e-headers-include-related t
)
15 (setq mu4e-view-show-images t
)
16 ;;(setq mu4e-use-fancy-chars t)
17 (when (fboundp 'imagemagick-register-types
)
18 (imagemagick-register-types))
20 (setq mu4e-org-contacts-file
"~/doc/org/contacts.org")
21 (add-to-list 'mu4e-headers-actions
22 '("org-contact-add" . mu4e-action-add-org-contact
) t
)
23 (add-to-list 'mu4e-view-actions
24 '("org-contact-add" . mu4e-action-add-org-contact
) t
)
25 (add-to-list 'mu4e-view-actions
26 '("ViewInBrowser" . mu4e-action-view-in-browser
) t
)
28 (setq mu4e-user-mail-address-list
'("j@mesrichardson.com" "james@jamestechnotes.com" "jamesrichardson@riseup.net" "james.richardson@lowes.com"))
29 ;; account specific stuff
30 (setq mu4e-sent-folder
"/acct-4/INBOX.Sent"
31 mu4e-drafts-folder
"/acct-4/INBOX.Drafts"
32 user-mail-address
"j@mesrichardson.com")
34 (defvar my-mu4e-account-alist
36 (mu4e-sent-folder "/acct-8/Sent")
37 (mu4e-drafts-folder "/acct-8/Drafts")
38 (user-mail-address "james.richardson@lowes.com"))
40 (mu4e-sent-folder "/acct-7/SentMail")
41 (mu4e-drafts-folder "/acct-7/Drafts")
42 (user-mail-address "jamesrichardsonjr@twc.com"))
44 (mu4e-sent-folder "/acct-6/INBOX.Sent")
45 (mu4e-drafts-folder "/acct-6/INBOX.Drafts")
46 (user-mail-address "j@mesrichardson.com"))
48 (mu4e-sent-folder "/acct-4/Sent")
49 (mu4e-drafts-folder "/acct-4/Drafts")
50 (user-mail-address "jamesrichardson@riseup.net"))
52 (mu4e-sent-folder "/acct-4/INBOX.Sent")
53 (mu4e-drafts-folder "/acct-4/INBOX.Drafts")
54 (user-mail-address "j@mesrichardson.com"))
56 (mu4e-sent-folder "/acct-3/INBOX.Sent")
57 (mu4e-drafts-folder "/acct-3/INBOX.Drafts")
58 (user-mail-address "james.richardson.jr@gmail.com"))
60 (mu4e-sent-folder "/acct-1/Sent")
61 (mu4e-drafts-folder "/acct-1/Drafts")
62 (user-mail-address "james.richardson@lowes.com"))))
64 (defun my-mu4e-set-account()
65 "Set the account for composing a message."
67 (if mu4e-compose-parent-message
68 (let ((maildir (mu4e-message-field mu4e-compose-parent-message
:maildir
)))
69 (string-match "/\\(.*?\\)/" maildir
)
70 (match-string 1 maildir
))
71 (completing-read (format "Compose with account: (%s) "
72 (mapconcat #'(lambda (var) (car var
))
73 my-mu4e-account-alist
"/"))
74 (mapcar #'(lambda (var) (car var
)) my-mu4e-account-alist
)
75 nil t nil nil
(caar my-mu4e-account-alist
))))
76 (account-vars (cdr (assoc account my-mu4e-account-alist
))))
78 (mapc #'(lambda (var) (set (car var
) (cadr var
)))
80 (error "No email account found"))))
82 ;;(add-hook 'mu4e-compose-pre-hook 'my-mu4e-set-account)
85 ;; add hooks for epa-mail-mode
86 ;;(add-hook 'mu4e-compose-mode-hook
87 ;; (defun my-setup-epa-hook ()
89 ;;(add-hook 'mu4e-view-mode-hook
90 ;; (defun my-view-mode-hook ()
97 :enter-func
(lambda () (mu4e-message "Entering Personal context"))
98 :leave-func
(lambda () (mu4e-message "Leaving Personal context"))
99 :vars
'((user-mail-address .
"j@mesrichardson.com")
100 (mu4e-sent-folder .
"/acct-6/INBOX.Sent")
101 (mu4e-drafts-folder .
"/acct-6/INBOX.Drafts")))
104 :vars
'((user-mail-address .
"james@jamestechnotes.com")
105 (mu4e-sent-folder .
"/acct-6/INBOX.Sent")
106 (mu4e-drafts-folder .
"/acct-6/INBOX.Drafts")))
109 :vars
'((user-mail-address .
"james.richardson@lowes.com")
110 (mu4e-sent-folder .
"/acct-8/Sent")
111 (mu4e-drafts-folder .
"/acct-8/Drafts")))))
113 (setq mu4e-context-policy nil
114 mu4e-compose-context-policy
'ask-if-none
)
115 ;; let's try to archive into year folders
116 (setq mu4e-refile-folder
118 "Set folder to refile"
121 (maildir (mu4e-message-field msg
:maildir
))
122 (year (format-time-string "%Y" (mu4e-message-field msg
:date
)))
123 (yearweek (format-time-string "%Y%U" (mu4e-message-field msg
:date
))))
125 ;; don't refile trash
126 ((string-match-p "trash" maildir
) maildir
)
127 ;; if /jrichar-lowes refile to /lowes-archive/YYYY
128 ((string-match-p "^/acct-1" maildir
) (concat "/archives/spec01/mail." year
)) ;; merged acct-1 and acct-8
129 ((string-match-p "^/acct-8" maildir
) (concat "/archives/spec01/mail." year
))
130 ((string-match-p "^/acct-[2-7]" maildir
) (concat "/archives/mail." year
))
132 ((string-match-p "^/$" maildir
) (concat "/archives/mail." year
))
133 ;; default goes back to itself
138 (add-to-list 'mu4e-bookmarks
139 '("m:/acct-8/INBOX" "Work" ?W
))
140 (add-to-list 'mu4e-bookmarks
141 '("flag:unread and not flag:trashed and not flag:list" "New (no lists)" ?n
))
142 (add-to-list 'mu4e-bookmarks
143 '("flag:unread and not flag:trashed and not flag:list or m:/acct-8/INBOX or m:/acct-6/INBOX or m:/acct-6/Queue" "Incoming" ?i
))
144 ;;(add-to-list 'mu4e-bookmarks
145 ;; '("(7.1 or aix) and date:1y..now" "7.1" ?7))
146 ;; (add-to-list 'mu4e-bookmarks
147 ;; '("flag:list and not flag:trashed" "Mailing lists" ?l))
148 ;; (add-to-list 'mu4e-bookmarks
149 ;; '("not flag:trashed and list:debian-user.lists.debian.org" "Debian-user" ?d))
150 ;; (add-to-list 'mu4e-bookmarks
151 ;; '("flag:unread and not flag:trashed and (m:/ or m:/acct-1/INBOX or m:/acct-2/INBOX or m:/acct-2/acct-3.INBOX or m:/acct-2/acct-3.[Gmail].Important or m:/acct-2/acct-4/INBOX.james or m:/acct-3/INBOX or m:/acct-3/[Gmail].Important or m:/acct-4/INBOX.james)" "New (all)" ?N))
152 ;; (add-to-list 'mu4e-bookmarks
153 ;; '("flag:unread and not flag:trashed and (m:/ or m:/acct-1/* or m:/acct-1-archives/*)" "New" ?n))
154 ;; (add-to-list 'mu4e-bookmarks
155 ;; '("m:/ or m:/acct-1/INBOX or m:/acct-2/INBOX or m:/acct-2/acct-3.INBOX or m:/acct-2/acct-3.[Gmail].Important or m:/acct-2/acct-4/INBOX.james or m:/acct-2/acct-4.INBOX.Archive or m:/acct-3/INBOX or m:/acct-3/[Gmail].Important or m:/acct-4/INBOX.james or m:/acct-4/INBOX.Archive" "Inbox (All)" ?I))
156 ;; (add-to-list 'mu4e-bookmarks
157 ;; '("m:/ or m:/acct-1/INBOX" "Inbox" ?i))
159 ;; set unread mail on desktop
160 (require 'mu4e-alert
)
161 (mu4e-alert-set-default-style 'libnotify
)
162 (add-hook 'after-init-hook
#'mu4e-alert-enable-notifications
)
164 ;; set unread mail in mode line
165 (add-hook 'after-init-hook
#'mu4e-alert-enable-mode-line-display
)
167 ;; update mail 300 seconds
168 (setq mu4e-update-interval
300)