(config) emacs: add msmtp thingies
This commit is contained in:
parent
e74a6586b1
commit
25c483d69f
1 changed files with 97 additions and 73 deletions
|
@ -1205,94 +1205,118 @@ GNU patch review metho dor sometihng idk
|
||||||
(setq mu4e-change-filenames-when-moving t)
|
(setq mu4e-change-filenames-when-moving t)
|
||||||
|
|
||||||
;; sending mail
|
;; sending mail
|
||||||
(setq message-send-mail-function 'smtpmail-send-it)
|
;;(setq message-send-mail-function 'smtpmail-send-it)
|
||||||
(add-to-list 'smtpmail-auth-supported 'xoauth2)
|
;;(add-to-list 'smtpmail-auth-supported 'xoauth2)
|
||||||
|
(setq send-mail-function 'sendmail-send-it)
|
||||||
|
(setq message-send-mail-function 'sendmail-sent-it)
|
||||||
|
(setq sendmail-program (executable-find "msmtp"))
|
||||||
|
|
||||||
|
;; select the right sender email from the context.
|
||||||
|
(setq message-sendmail-envelope-from 'header)
|
||||||
|
|
||||||
(setq mu4e-update-interval (* 10 60))
|
(setq mu4e-update-interval (* 10 60))
|
||||||
(setq mu4e-get-mail-command (format "INSIDE_EMACS=%s offlineimap" emacs-version)
|
(setq mu4e-get-mail-command (format "INSIDE_EMACS=%s offlineimap" emacs-version)
|
||||||
epa-pinentry-mode 'ask)
|
epa-pinentry-mode 'ask)
|
||||||
(setq mu4e-maildir "~/.mail")
|
(setq mu4e-maildir "~/.mail")
|
||||||
|
|
||||||
;; for mail accounts
|
;; for mail accounts
|
||||||
(setq sakomacs-mail-accounts (json-read-file "~/.mail/accounts.json"))
|
(setq sakomacs-mail-accounts (json-read-file "~/.mail/accounts.json"))
|
||||||
|
|
||||||
|
(defun sakomacs/set-msmtp-account ()
|
||||||
|
(if (message-mail-p)
|
||||||
|
(save-excursion
|
||||||
|
(let*
|
||||||
|
((from (save-restriction
|
||||||
|
(message-narrow-to-headers)
|
||||||
|
(message-fetch-field "from")))
|
||||||
|
(account
|
||||||
|
(cond
|
||||||
|
((string-match (cdr (assoc 'gmail-1 sakomacs-mail-accounts)) from) "gmail-1")
|
||||||
|
((string-match (cdr (assoc 'gmail-2 sakomacs-mail-accounts)) from) "gmail-2")
|
||||||
|
((string-match (cdr (assoc 'protonmail sakomacs-mail-accounts)) from) "protonmail")
|
||||||
|
((string-match (cdr (assoc 'li sakomacs-mail-accounts)) from) "li")
|
||||||
|
((string-match (cdr (assoc 'outlook sakomacs-mail-accounts)) from)))))
|
||||||
|
(setq message-sendmail-extra-arguments (list '"-a" account))))))
|
||||||
|
|
||||||
|
(add-hook 'message-send-mail-hook 'sakomacs/set-msmtp-account)
|
||||||
|
|
||||||
;; kill message buffers
|
;; kill message buffers
|
||||||
(setq message-kill-buffer-on-exit t)
|
(setq message-kill-buffer-on-exit t)
|
||||||
|
|
||||||
(setq mu4e-context-policy 'pick-first)
|
(setq mu4e-context-policy 'pick-first)
|
||||||
(setq mu4e-compose-context-policy 'always-ask)
|
(setq mu4e-compose-context-policy 'always-ask)
|
||||||
(setq mu4e-contexts
|
(setq mu4e-contexts
|
||||||
(list
|
(list
|
||||||
;; outlook
|
;; outlook
|
||||||
|
(make-mu4e-context
|
||||||
|
:name "Outlook"
|
||||||
|
:match-func
|
||||||
|
(lambda (msg)
|
||||||
|
(when msg
|
||||||
|
(string-prefix-p "/outlook" (mu4e-message-field msg :maildir))))
|
||||||
|
:vars `((user-mail-address . ,(cdr (assoc 'outlook sakomacs-mail-accounts)))
|
||||||
|
(user-full-name . "Sako")
|
||||||
|
(mu4e-drafts-folder . "/outlook/Drafts")
|
||||||
|
(mu4e-sent-folder . "/outlook/Sent")
|
||||||
|
(mu4e-refile-folder . "/outlook/Inbox")
|
||||||
|
(mu4e-trash-folder . "/outlook/Deleted")
|
||||||
|
;; todo stmpmail and compose signatures
|
||||||
|
))
|
||||||
|
(make-mu4e-context
|
||||||
|
:name "Proton"
|
||||||
|
:match-func
|
||||||
|
(lambda (msg)
|
||||||
|
(when msg
|
||||||
|
(string-prefix-p "/protonmail" (mu4e-message-field msg :maildir))))
|
||||||
|
:vars `((user-mail-address . ,(cdr (assoc 'protonmail sakomacs-mail-accounts)))
|
||||||
|
(user-full-name . "Sako")
|
||||||
|
(mu4e-drafts-folder . "/protonmail/Drafts")
|
||||||
|
(mu4e-sent-folder . "/protonmail/Sent")
|
||||||
|
(mu4e-refile-folder . "/protonmail/Inbox")
|
||||||
|
(mu4e-trash-folder . "/protonmail/Trash"))
|
||||||
|
;; todo stmpmail and compose signatures
|
||||||
|
)
|
||||||
|
(make-mu4e-context
|
||||||
|
:name "Gmail Personal 1"
|
||||||
|
:match-func
|
||||||
|
(lambda (msg)
|
||||||
|
(when msg
|
||||||
|
(string-prefix-p "/gmail1" (mu4e-message-field msg :maildir))))
|
||||||
|
:vars `((user-mail-address . ,(cdr (assoc 'gmail-1 sakomacs-mail-accounts)))
|
||||||
|
(user-full-name . "Sako")
|
||||||
|
(mu4e-drafts-folder . "/gmail1/Drafts")
|
||||||
|
(mu4e-sent-folder . "/gmail1/Sent Mail")
|
||||||
|
(mu4e-refile-folder . "/gmail1/Inbox")
|
||||||
|
(mu4e-trash-folder . "gmail1/Trash")
|
||||||
|
;; todo stmpmail and compose signatures
|
||||||
|
))
|
||||||
|
(make-mu4e-context
|
||||||
|
:name "Second Personal Gmail"
|
||||||
|
:match-func
|
||||||
|
(lambda (msg)
|
||||||
|
(when msg
|
||||||
|
(string-prefix-p "/gmail2" (mu4e-message-field msg :maildir))))
|
||||||
|
:vars `((user-mail-address . ,(cdr (assoc 'gmail-2 sakomacs-mail-accounts)))
|
||||||
|
(user-full-name . "Sako")
|
||||||
|
(mu4e-drafts-folder . "/gmail2/Drafts")
|
||||||
|
(mu4e-sent-folder . "/gmail2/Sent Mail")
|
||||||
|
(mu4e-refile-folder . "/gmail2/Inbox")
|
||||||
|
(mu4e-trash-folder . "gmail2/Trash")
|
||||||
|
))
|
||||||
(make-mu4e-context
|
(make-mu4e-context
|
||||||
:name "Outlook"
|
:name "li"
|
||||||
:match-func
|
:match-func
|
||||||
(lambda (msg)
|
(lambda (msg)
|
||||||
(when msg
|
(when msg
|
||||||
(string-prefix-p "/outlook" (mu4e-message-field msg :maildir))))
|
(string-prefix-p "/li" (mu4e-message-field msg :maildir))))
|
||||||
:vars `((user-mail-address . ,(cdr (assoc 'outlook sakomacs-mail-accounts)))
|
:vars `((user-mail-address . ,(cdr (assoc 'li sakomacs-mail-accounts)))
|
||||||
(user-full-name . "Sako")
|
(user-full-name . "user")
|
||||||
(mu4e-drafts-folder . "/outlook/Drafts")
|
(mu4e-sent-folder . "/li/Sent Mail")
|
||||||
(mu4e-sent-folder . "/outlook/Sent")
|
(mu4e-refile-folder . "/li/INBOX")
|
||||||
(mu4e-refile-folder . "/outlook/Inbox")
|
(mu4e-trash-folder . "/li/Trash")
|
||||||
(mu4e-trash-folder . "/outlook/Deleted")
|
))
|
||||||
;; todo stmpmail and compose signatures
|
|
||||||
))
|
|
||||||
(make-mu4e-context
|
|
||||||
:name "Proton"
|
|
||||||
:match-func
|
|
||||||
(lambda (msg)
|
|
||||||
(when msg
|
|
||||||
(string-prefix-p "/protonmail" (mu4e-message-field msg :maildir))))
|
|
||||||
:vars `((user-mail-address . ,(cdr (assoc 'protonmail sakomacs-mail-accounts)))
|
|
||||||
(user-full-name . "Sako")
|
|
||||||
(mu4e-drafts-folder . "/protonmail/Drafts")
|
|
||||||
(mu4e-sent-folder . "/protonmail/Sent")
|
|
||||||
(mu4e-refile-folder . "/protonmail/Inbox")
|
|
||||||
(mu4e-trash-folder . "/protonmail/Trash"))
|
|
||||||
;; todo stmpmail and compose signatures
|
|
||||||
)
|
|
||||||
(make-mu4e-context
|
|
||||||
:name "Gmail Personal 1"
|
|
||||||
:match-func
|
|
||||||
(lambda (msg)
|
|
||||||
(when msg
|
|
||||||
(string-prefix-p "/gmail1" (mu4e-message-field msg :maildir))))
|
|
||||||
:vars `((user-mail-address . ,(cdr (assoc 'gmail-1 sakomacs-mail-accounts)))
|
|
||||||
(user-full-name . "Sako")
|
|
||||||
(mu4e-drafts-folder . "/gmail1/Drafts")
|
|
||||||
(mu4e-sent-folder . "/gmail1/Sent Mail")
|
|
||||||
(mu4e-refile-folder . "/gmail1/Inbox")
|
|
||||||
(mu4e-trash-folder . "gmail1/Trash")
|
|
||||||
;; todo stmpmail and compose signatures
|
|
||||||
))
|
|
||||||
(make-mu4e-context
|
|
||||||
:name "Second Personal Gmail"
|
|
||||||
:match-func
|
|
||||||
(lambda (msg)
|
|
||||||
(when msg
|
|
||||||
(string-prefix-p "/gmail2" (mu4e-message-field msg :maildir))))
|
|
||||||
:vars `((user-mail-address . ,(cdr (assoc 'gmail-2 sakomacs-mail-accounts)))
|
|
||||||
(user-full-name . "Sako")
|
|
||||||
(mu4e-drafts-folder . "/gmail2/Drafts")
|
|
||||||
(mu4e-sent-folder . "/gmail2/Sent Mail")
|
|
||||||
(mu4e-refile-folder . "/gmail2/Inbox")
|
|
||||||
(mu4e-trash-folder . "gmail2/Trash")
|
|
||||||
))
|
|
||||||
(make-mu4e-context
|
|
||||||
:name "li"
|
|
||||||
:match-func
|
|
||||||
(lambda (msg)
|
|
||||||
(when msg
|
|
||||||
(string-prefix-p "/li" (mu4e-message-field msg :maildir))))
|
|
||||||
:vars `((user-mail-address . ,(cdr (assoc 'li sakomacs-mail-accounts)))
|
|
||||||
(user-full-name . "user")
|
|
||||||
(mu4e-sent-folder . "/li/Sent Mail")
|
|
||||||
(mu4e-refile-folder . "/li/INBOX")
|
|
||||||
(mu4e-trash-folder . "/li/Trash")
|
|
||||||
))
|
|
||||||
|
|
||||||
))
|
))
|
||||||
)
|
)
|
||||||
|
|
||||||
(use-package mu4e-alert
|
(use-package mu4e-alert
|
||||||
|
|
Loading…
Reference in a new issue