diff --git a/init.el b/init.el index 05c7ff8..9defad9 100644 --- a/init.el +++ b/init.el @@ -496,10 +496,17 @@ :ensure t :after transient) +;; Auth Source Pass - Use pass for authentication with mail +(use-package auth-source-pass + :ensure nil + :init + (auth-source-pass-enable)) + ;; Mu4e Mail Config (if (executable-find "mu") (use-package mu4e :ensure nil + :after auth-source-pass :config (setq mu4e-mu-binary (executable-find "mu")) @@ -518,7 +525,10 @@ (setq mu4e-compose-format-flowed t) ;; Use completing read AKA vertico - (setq mu4e-completing-read-function 'completing-read) + (setq mu4e-completing-read-function #'completing-read) + + ;; Immediately send SMTP with credentials + (setq smtpmail-servers-requiring-authorization "*") (setq mu4e-contexts (list @@ -531,9 +541,10 @@ (string-prefix-p "/work-cspark" (mu4e-message-field msg :maildir)))) :vars '((user-mail-address . "work@cspark.dev") (user-full-name . "Curt Spark (Work)") - (smtpmail-smtp-server . "smtp.cspark.dev") - (smtpmail-smtp-service . 465) - (smtpmail-stream-type . ssl) + (smtpmail-smtp-server . "mail.cspark.dev") + (smtpmail-smtp-user . "work@cspark.dev") + (smtpmail-smtp-service . 587) + (smtpmail-stream-type . starttls) (mu4e-compose-signature . "- Curt") (mu4e-inbox-folder . "/work-cspark/Inbox") (mu4e-drafts-folder . "/work-cspark/Drafts") @@ -549,9 +560,10 @@ (string-prefix-p "/services-cspark" (mu4e-message-field msg :maildir)))) :vars '((user-mail-address . "services@cspark.dev") (user-full-name . "Curt Spark (services)") - (smtpmail-smtp-server . "smtp.cspark.dev") - (smtpmail-smtp-service . 465) - (smtpmail-stream-type . ssl) + (smtpmail-smtp-server . "mail.cspark.dev") + (smtpmail-smtp-user . "services@cspark.dev") + (smtpmail-smtp-service . 587) + (smtpmail-stream-type . starttls) (mu4e-compose-signature . "- Curt") (mu4e-inbox-folder . "/services-cspark/Inbox") (mu4e-drafts-folder . "/services-cspark/Drafts") @@ -567,32 +579,72 @@ (string-prefix-p "/personal-cspark" (mu4e-message-field msg :maildir)))) :vars '((user-mail-address . "personal@cspark.dev") (user-full-name . "Curt Spark (personal)") - (smtpmail-smtp-server . "smtp.cspark.dev") - (smtpmail-smtp-service . 465) - (smtpmail-stream-type . ssl) + (smtpmail-smtp-server . "mail.cspark.dev") + (smtpmail-smtp-user . "personal@cspark.dev") + (smtpmail-smtp-service . 587) + (smtpmail-stream-type . starttls) (mu4e-compose-signature . "- Curt") (mu4e-inbox-folder . "/personal-cspark/Inbox") (mu4e-drafts-folder . "/personal-cspark/Drafts") (mu4e-sent-folder . "/personal-cspark/Sent Mail") (mu4e-trash-folder . "/personal-cspark/Trash"))) + ;; Alerts account + (make-mu4e-context + :name "D CSpark Alerts" + :match-func + (lambda (msg) + (when msg + (string-prefix-p "/alerts-cspark" (mu4e-message-field msg :maildir)))) + :vars '((user-mail-address . "alerts@cspark.dev") + (user-full-name . "Curt Spark (alerts)") + (smtpmail-smtp-server . "mail.cspark.dev") + (smtpmail-smtp-user . "alerts@cspark.dev") + (smtpmail-smtp-service . 587) + (smtpmail-stream-type . starttls) + (mu4e-compose-signature . "- Curt") + (mu4e-inbox-folder . "/alerts-cspark/Inbox") + (mu4e-drafts-folder . "/alerts-cspark/Drafts") + (mu4e-sent-folder . "/alerts-cspark/Sent Mail") + (mu4e-trash-folder . "/alerts-cspark/Trash"))) + ;; Tuxtank Services account (make-mu4e-context - :name "D Tuxtank Services" + :name "E Tuxtank Services" :match-func (lambda (msg) (when msg (string-prefix-p "/personal-tuxtank" (mu4e-message-field msg :maildir)))) :vars '((user-mail-address . "personal@tuxtank.dev") (user-full-name . "Tuxtank (personal)") - (smtpmail-smtp-server . "smtp.tuxtank.dev") - (smtpmail-smtp-service . 465) - (smtpmail-stream-type . ssl) + (smtpmail-smtp-server . "mail.tuxtank.dev") + (smtpmail-smtp-user . "personal@tuxtank.dev") + (smtpmail-smtp-service . 587) + (smtpmail-stream-type . starttls) (mu4e-compose-signature . "- Tuxtank") (mu4e-inbox-folder . "/personal-tuxtank/Inbox") (mu4e-drafts-folder . "/personal-tuxtank/Drafts") (mu4e-sent-folder . "/personal-tuxtank/Sent Mail") - (mu4e-trash-folder . "/personal-tuxtank/Trash"))))))) + (mu4e-trash-folder . "/personal-tuxtank/Trash"))) + + ;; Tuxtank Alerts account + (make-mu4e-context + :name "F Tuxtank Alerts" + :match-func + (lambda (msg) + (when msg + (string-prefix-p "/alerts-tuxtank" (mu4e-message-field msg :maildir)))) + :vars '((user-mail-address . "alerts@tuxtank.dev") + (user-full-name . "Tuxtank (alerts)") + (smtpmail-smtp-server . "mail.tuxtank.dev") + (smtpmail-smtp-user . "alerts@tuxtank.dev") + (smtpmail-smtp-service . 587) + (smtpmail-stream-type . starttls) + (mu4e-compose-signature . "- Tuxtank") + (mu4e-inbox-folder . "/alerts-tuxtank/Inbox") + (mu4e-drafts-folder . "/alerts-tuxtank/Drafts") + (mu4e-sent-folder . "/alerts-tuxtank/Sent Mail") + (mu4e-trash-folder . "/alerts-tuxtank/Trash"))))))) ;(setq mu4e-maildir-shortcuts