(message-sendmail-envelope-from): New option.
authorJesper Harder <harder@ifa.au.dk>
Tue, 25 Feb 2003 22:11:57 +0000 (22:11 +0000)
committerJesper Harder <harder@ifa.au.dk>
Tue, 25 Feb 2003 22:11:57 +0000 (22:11 +0000)
(message-sendmail-envelope-from): New function.
(message-send-mail-with-sendmail): Use it.

lisp/ChangeLog
lisp/message.el

index b6e4869..56a2f40 100644 (file)
@@ -1,3 +1,9 @@
+2003-02-25  Jesper Harder  <harder@ifa.au.dk>
+
+       * message.el (message-sendmail-envelope-from): New option.
+       (message-sendmail-envelope-from): New function.
+       (message-send-mail-with-sendmail): Use it.
+
 2003-02-25  Reiner Steib  <Reiner.Steib@gmx.de>
 
        * gnus-art.el (gnus-button-mid-or-mail-heuristic-alist): Added
index f75e9c0..9782827 100644 (file)
@@ -636,6 +636,15 @@ Doing so would be even more evil than leaving it out."
   :group 'message-sending
   :type 'boolean)
 
+(defcustom message-sendmail-envelope-from nil
+  "*Envelope-from when sending mail with sendmail.
+If this is nil, use `user-mail-address'.  If it is the symbol
+`header', use the From: header of the message."
+  :type '(choice (string :tag "From name")
+                (const :tag "Use From: header from message" header)
+                (const :tag "Use `user-mail-address'" nil))
+  :group 'message-sending)
+
 ;; qmail-related stuff
 (defcustom message-qmail-inject-program "/var/qmail/bin/qmail-inject"
   "Location of the qmail-inject program."
@@ -3550,7 +3559,7 @@ If you always want Gnus to send messages in one piece, set
                        ;; But some systems are more broken with -f, so
                        ;; we'll let users override this.
                        (if (null message-sendmail-f-is-evil)
-                           (list "-f" (message-make-address)))
+                           (list "-f" (message-sendmail-envelope-from)))
                        ;; These mean "report errors by mail"
                        ;; and "deliver in background".
                        (if (null message-interactive) '("-oem" "-odb"))
@@ -4506,6 +4515,16 @@ give as trustworthy answer as possible."
        (nth 1 (mail-extract-address-components user-mail-address))
       user-mail-address)))
 
+(defun message-sendmail-envelope-from ()
+  "Return the envelope from."
+  (cond ((eq message-sendmail-envelope-from 'header)
+        (nth 1 (mail-extract-address-components
+                (message-fetch-field "from"))))
+       ((stringp message-sendmail-envelope-from)
+        message-sendmail-envelope-from)
+       (t
+        (message-make-address))))
+
 (defun message-make-fqdn ()
   "Return user's fully qualified domain name."
   (let* ((system-name (system-name))