"Name of the MH send program.
Some sites need to change this because of a name conflict.")
+(defvar mh-send-uses-spost-flag nil
+ "Non-nil means \"send\" uses \"spost\" to submit messages.
+
+If the value of \"postproc:\" is \"spost\", you may need to set
+this variable to t to tell MH-E to avoid using features of
+\"post\" that are not supported by \"spost\". You'll know that
+you'll need to do this if sending mail fails with an error of
+\"spost: -msgid unknown\".")
+
(defvar mh-redist-background nil
"If non-nil redist will be done in background like send.
This allows transaction log to be visible if -watch, -verbose or
(setq other-headers (cdr other-headers)))))
;; Shush compiler.
-(eval-when-compile (mh-do-in-xemacs (defvar sendmail-coding-system)))
+(defvar sendmail-coding-system) ; XEmacs
;;;###autoload
(defun mh-send-letter (&optional arg)
this command. For example, if you want to check your spelling in
your message before sending, add the function `ispell-message'.
+Unless `mh-insert-auto-fields' had previously been called
+manually, the function `mh-insert-auto-fields' is called to
+insert fields based upon the recipients. If fields are added, you
+are given a chance to see and to confirm these fields before the
+message is actually sent. You can do away with this confirmation
+by turning off the option `mh-auto-fields-prompt-flag'.
+
In case the MH \"send\" program is installed under a different name,
use `mh-send-prog' to tell MH-E the name."
(interactive "P")
(and (boundp 'default-buffer-file-coding-system )
default-buffer-file-coding-system)
'iso-latin-1))))
- ;; Adding a Message-ID field looks good, makes it easier to search for
- ;; message in your +outbox, and best of all doesn't break threading for
- ;; the recipient if you reply to a message in your +outbox.
- (setq mh-send-args (concat "-msgid " mh-send-args))
- ;; The default BCC encapsulation will make a MIME message unreadable.
- ;; With nmh use the -mime arg to prevent this.
- (if (and (mh-variant-p 'nmh)
- (mh-goto-header-field "Bcc:")
- (mh-goto-header-field "Content-Type:"))
- (setq mh-send-args (concat "-mime " mh-send-args)))
+ ;; Older versions of spost do not support -msgid and -mime.
+ (unless mh-send-uses-spost-flag
+ ;; Adding a Message-ID field looks good, makes it easier to search for
+ ;; message in your +outbox, and best of all doesn't break threading for
+ ;; the recipient if you reply to a message in your +outbox.
+ (setq mh-send-args (concat "-msgid " mh-send-args))
+ ;; The default BCC encapsulation will make a MIME message unreadable.
+ ;; With nmh use the -mime arg to prevent this.
+ (if (and (mh-variant-p 'nmh)
+ (mh-goto-header-field "Bcc:")
+ (mh-goto-header-field "Content-Type:"))
+ (setq mh-send-args (concat "-mime " mh-send-args))))
(cond (arg
(pop-to-buffer mh-mail-delivery-buffer)
(erase-buffer)
(set-buffer draft-buffer)) ; for annotation below
(t
(mh-exec-cmd-daemon mh-send-prog nil "-nodraftfolder" "-noverbose"
- mh-send-args file-name)))
+ (split-string mh-send-args) file-name)))
(if mh-annotate-char
(mh-annotate-msg mh-sent-from-msg
mh-sent-from-folder
Response Reply Goes To
- from The person who sent the message. This is the
+ from The person who sent the message. This is the
default, so <RET> is sufficient.
to Replies to the sender, plus all recipients in the
\"To:\" header field.
- all
- cc Forms a reply to the sender, plus all recipients.
+ all cc Forms a reply to the addresses in the
+ \"Mail-Followup-To:\" header field if one
+ exists; otherwise forms a reply to the sender,
+ plus all recipients.
Depending on your answer, \"repl\" is given a different argument
to form your reply. Specifically, a choice of \"from\" or none at
Two windows are then created. One window contains the message to
which you are replying in an MH-Show buffer. Your draft, in
-MH-Letter mode (see `mh-letter-mode'), is in the other window.
+MH-Letter mode (*note `mh-letter-mode'), is in the other window.
+If the reply draft was not one that you expected, check the
+things that affect the behavior of \"repl\" which include the
+\"repl:\" profile component and the \"replcomps\" and
+\"replgroupcomps\" files.
If you supply a prefix argument INCLUDEP, the message you are
replying to is inserted in your reply after having first been run
(mh-logo-display)
(mh-make-local-hook 'kill-buffer-hook)
(add-hook 'kill-buffer-hook 'mh-tidy-draft-buffer nil t)
- (if (and (boundp 'mh-compose-letter-function)
- mh-compose-letter-function)
- ;; run-hooks will not pass arguments.
- (let ((value mh-compose-letter-function))
- (if (and (listp value) (not (eq (car value) 'lambda)))
- (while value
- (funcall (car value) to subject cc)
- (setq value (cdr value)))
- (funcall mh-compose-letter-function to subject cc)))))
+ (run-hook-with-args 'mh-compose-letter-function to subject cc))
(defun mh-insert-x-mailer ()
"Append an X-Mailer field to the header.
(format "MH-E %s; %s; %sEmacs %s"
mh-version mh-variant-in-use
(if mh-xemacs-flag "X" "GNU ")
- (cond ((not mh-xemacs-flag) emacs-version)
+ (cond ((not mh-xemacs-flag)
+ (string-match "[0-9]+\\.[0-9]+\\(\\.[0-9]+\\)?"
+ emacs-version)
+ (match-string 0 emacs-version))
((string-match "[0-9.]*\\( +\([ a-z]+[0-9]+\)\\)?"
emacs-version)
(match-string 0 emacs-version))
(defun mh-insert-auto-fields (&optional non-interactive)
"Insert custom fields if recipient is found in `mh-auto-fields-list'.
-Sets buffer-local `mh-insert-auto-fields-done-local' if header
-fields were added. If NON-INTERACTIVE is non-nil, perform actions
-quietly and only if `mh-insert-auto-fields-done-local' is nil.
-
-An `identity' entry is skipped if one was already entered
-manually.
+Once the header contains one or more recipients, you may run this
+command to insert these fields manually. However, if you use this
+command, the automatic insertion when the message is sent is
+disabled.
-Return t if fields added; otherwise return nil."
+In a program, set buffer-local `mh-insert-auto-fields-done-local'
+if header fields were added. If NON-INTERACTIVE is non-nil,
+perform actions quietly and only if
+`mh-insert-auto-fields-done-local' is nil. Return t if fields
+added; otherwise return nil."
(interactive)
(when (or (not non-interactive)
(not mh-insert-auto-fields-done-local))