]> git.eshelyaron.com Git - emacs.git/commitdiff
Don't use the original sender's address as the envelope-from
authorSean Whitton <spwhitton@spwhitton.name>
Thu, 17 Mar 2022 10:57:14 +0000 (11:57 +0100)
committerLars Ingebrigtsen <larsi@gnus.org>
Thu, 17 Mar 2022 10:57:14 +0000 (11:57 +0100)
* lisp/gnus/message.el (message-resend): Avoid setting the
envelope-from to the original sender's address rather than the
resender's (bug#54429).

lisp/gnus/message.el

index 2e9242d3e1e76430523fb7dcc5ea91ceb6f7fe92..30734b8f1ad63c88bc40789040f8706254cc9253 100644 (file)
@@ -50,6 +50,7 @@
 (require 'subr-x)
 (require 'yank-media)
 (require 'mailcap)
+(require 'sendmail)
 
 (autoload 'mailclient-send-it "mailclient")
 
@@ -8016,7 +8017,18 @@ is for the internal use."
            (select-safe-coding-system-function nil)
            message-required-mail-headers
            message-generate-hashcash
-           rfc2047-encode-encoded-words)
+           rfc2047-encode-encoded-words
+            ;; If `message-sendmail-envelope-from' is `header' then
+            ;; the envelope-from will be the original sender's
+            ;; address, not the resender's.  But when resending, the
+            ;; envelope-from should be the resender's address.  Defuse
+            ;; that particular case.
+            (message-sendmail-envelope-from
+             (and (not (and (eq message-sendmail-envelope-from
+                                'obey-mail-envelope-from)
+                            (eq mail-envelope-from 'header)))
+                  (not (eq message-sendmail-envelope-from 'header))
+                  message-sendmail-envelope-from)))
        (message-send-mail))
       (when gcc
        (message-goto-eoh)