Function: message-send-form-letter
message-send-form-letter is an interactive and byte-compiled function
defined in message.el.gz.
Signature
(message-send-form-letter &optional FORCE)
Documentation
Sent all form letter messages from current buffer.
Unless FORCE, prompt before sending.
The messages are separated by message-form-letter-separator.
Header and body are separated by mail-header-separator.
Key Bindings
Source Code
;; Defined in /usr/src/emacs/lisp/gnus/message.el.gz
(defun message-send-form-letter (&optional force)
"Sent all form letter messages from current buffer.
Unless FORCE, prompt before sending.
The messages are separated by `message-form-letter-separator'.
Header and body are separated by `mail-header-separator'."
(interactive "P" message-mode)
(let ((sent 0) (skipped 0)
start end text
buff
to done)
(goto-char (point-min))
(while (not done)
(setq start (point)
end (if (search-forward message-form-letter-separator nil t)
(- (point) (length message-form-letter-separator) -1)
(setq done t)
(point-max)))
(setq text
(buffer-substring-no-properties start end))
(setq buff (generate-new-buffer "*mail - form letter*"))
(with-current-buffer buff
(insert text)
(message-mode)
(setq to (message-fetch-field "To"))
(switch-to-buffer buff)
(when force
(sit-for message-send-form-letter-delay))
(if (or force
(y-or-n-p (format-message "Send message to `%s'? " to)))
(progn
(setq sent (1+ sent))
(message-send-and-exit))
(message "Message to `%s' skipped." to)
(setq skipped (1+ skipped)))
(when (buffer-live-p buff)
(kill-buffer buff))))
(message "%s message(s) sent, %s skipped." sent skipped)))