Commit 7e3fa9f5 authored by Eli Zaretskii's avatar Eli Zaretskii

(smtpmail-send-queued-mail): Use

with-temp-buffer instead of find-file-noselect, and bind
coding-system-for-read to no-conversion when reading the queued
messages.  From Simon Josefsson <>.
parent 966bda3a
......@@ -367,11 +367,11 @@ This is relative to `smtpmail-queue-dir'.")
(defun smtpmail-send-queued-mail ()
"Send mail that was queued as a result of setting `smtpmail-queue-mail'."
;;; Get index, get first mail, send it, get second mail, etc...
(let ((buffer-index (find-file-noselect smtpmail-queue-index))
(file-msg "")
(tembuf nil))
(with-current-buffer buffer-index
;;; Get index, get first mail, send it, update index, get second
;;; mail, send it, etc...
(let ((file-msg ""))
(insert-file-contents smtpmail-queue-index)
(while (not (eobp))
(setq file-msg (buffer-substring (point) (line-end-position)))
......@@ -379,20 +379,18 @@ This is relative to `smtpmail-queue-dir'.")
;; Insert the message literally: it is already encoded as per
;; the MIME headers, and code conversions might guess the
;; encoding wrongly.
(setq tembuf (find-file-noselect file-msg nil t))
(if (not (null smtpmail-recipient-address-list))
(if (not (smtpmail-via-smtp smtpmail-recipient-address-list
(error "Sending failed; SMTP protocol error"))
(error "Sending failed; no recipients"))
(let ((coding-system-for-read 'no-conversion))
(insert-file-contents file-msg))
(if (not (null smtpmail-recipient-address-list))
(if (not (smtpmail-via-smtp smtpmail-recipient-address-list
(error "Sending failed; SMTP protocol error"))
(error "Sending failed; no recipients")))
(delete-file file-msg)
(delete-file (concat file-msg ".el"))
(kill-buffer tembuf)
(kill-line 1))
(set-buffer buffer-index)
(save-buffer smtpmail-queue-index)
(kill-buffer buffer-index)
(kill-line 1))
(write-region (point-min) (point-max) smtpmail-queue-index))))
;(defun smtpmail-via-smtp (host,port,sender,destination,smtpmail-text-buffer)
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment