Mail authentication, setup SMTP. Add more email config

This commit is contained in:
Curt Spark 2026-03-10 18:14:01 +00:00
parent 73485647b4
commit 98aba64caa
1 changed files with 67 additions and 15 deletions

82
init.el
View File

@ -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