summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSean Whitton <spwhitton@spwhitton.name>2022-03-17 11:57:14 +0100
committerLars Ingebrigtsen <larsi@gnus.org>2022-03-17 11:57:14 +0100
commitda0d598190c3337c4acb2adb7435b756c655af87 (patch)
tree35e58a13dd7e451ad26ccfbf38e53cfc16564091
parent1d3b7474c7d79ae5f38b5dcb7a44f4975b3e79e8 (diff)
downloademacs-da0d598190c3337c4acb2adb7435b756c655af87.tar.gz
Don't use the original sender's address as the envelope-from
* lisp/gnus/message.el (message-resend): Avoid setting the envelope-from to the original sender's address rather than the resender's (bug#54429).
-rw-r--r--lisp/gnus/message.el14
1 files changed, 13 insertions, 1 deletions
diff --git a/lisp/gnus/message.el b/lisp/gnus/message.el
index 2e9242d3e1e..30734b8f1ad 100644
--- a/lisp/gnus/message.el
+++ b/lisp/gnus/message.el
@@ -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)