Try to not put SMTP passwords in the *Messages* buffer

* lisp/mail/smtpmail.el (smtpmail--sanitize-error-message): New
function.
(smtpmail-send-it): Use it.
(smtpmail-send-queued-mail): Ditto.
This commit is contained in:
Lars Ingebrigtsen 2019-10-21 22:38:34 +02:00
parent 7f5db3f40c
commit d5fdde42d2

View file

@ -354,7 +354,8 @@ for `smtpmail-try-auth-method'.")
(when (setq result
(smtpmail-via-smtp
smtpmail-recipient-address-list tembuf))
(error "Sending failed: %s" result))
(error "Sending failed: %s"
(smtpmail--sanitize-error-message result)))
(error "Sending failed; no recipients"))
(let* ((file-data
(expand-file-name
@ -437,13 +438,18 @@ for `smtpmail-try-auth-method'.")
(when (setq result (smtpmail-via-smtp
smtpmail-recipient-address-list
(current-buffer)))
(error "Sending failed: %s" result))
(error "Sending failed: %s"
(smtpmail--sanitize-error-message result)))
(error "Sending failed; no recipients"))))
(delete-file file-data)
(delete-file file-elisp)
(delete-region (point-at-bol) (point-at-bol 2)))
(write-region (point-min) (point-max) qfile))))
(defun smtpmail--sanitize-error-message (string)
"Try to remove passwords and the like from SMTP error messages."
(replace-regexp-in-string "\\bAUTH\\b.*" "AUTH" string))
(defun smtpmail-fqdn ()
(if smtpmail-local-domain
(concat (system-name) "." smtpmail-local-domain)