> I use vm with smtpmail to send mail. when on a slow wireless > connection, sending 20Mb attachments can take over 10 minutes. I am > wondering if there is a way to get some progress indicator, such as a > continuously updating "percent uploaded" in the echo area?
You could try the patch below. > also, smtp fails quite often, and then I am left with the outgoing > mail buffer. Do you happen to know why? > I can press c-c c-c to try again and that works in most cases, but > then it adds the message to the outgoing folder again, so I need to > erase the .FCC line by hand. wouldn't it be good if a failed message > was automatically put in "outgoing folder" such as a queued- mail > directory, and then sent at a later time? perhaps when smtpmail is > called again to send another message? That seems to be specific to VM, so I'll let the VM crowd handle it. Stefan === modified file 'lisp/mail/smtpmail.el' --- lisp/mail/smtpmail.el 2011-02-12 17:51:02 +0000 +++ lisp/mail/smtpmail.el 2011-05-20 12:44:28 +0000 @@ -941,15 +941,20 @@ (process-send-string process "\r\n")) (defun smtpmail-send-data (process buffer) - (let ((data-continue t) sending-data) + (let ((data-continue t) sending-data + (pr (make-progress-reporter "Sending email" + (with-current-buffer buffer (point-min)) + (with-current-buffer buffer (point-max))))) (with-current-buffer buffer (goto-char (point-min))) (while data-continue (with-current-buffer buffer + (progress-reporter-update pr (point)) (setq sending-data (buffer-substring (point-at-bol) (point-at-eol))) (end-of-line 2) (setq data-continue (not (eobp)))) - (smtpmail-send-data-1 process sending-data)))) + (smtpmail-send-data-1 process sending-data)) + (progress-reporter-done pr))) (defun smtpmail-deduce-address-list (smtpmail-text-buffer header-start header-end) "Get address list suitable for smtp RCPT TO: <address>."