changeset 8416:31a71761eeae

(sendmail-send-it): Handle resent-to specially.
author Richard M. Stallman <rms@gnu.org>
date Tue, 02 Aug 1994 01:29:20 +0000
parents ec05bbe4ef1c
children 3f2854a14982
files lisp/mail/sendmail.el
diffstat 1 files changed, 21 insertions(+), 3 deletions(-) [+]
line wrap: on
line diff
--- a/lisp/mail/sendmail.el	Mon Aug 01 22:28:26 1994 +0000
+++ b/lisp/mail/sendmail.el	Tue Aug 02 01:29:20 1994 +0000
@@ -382,6 +382,7 @@
 		  0))
 	(tembuf (generate-new-buffer " sendmail temp"))
 	(case-fold-search nil)
+	resend-to-addresses
 	delimline
 	(mailbuf (current-buffer)))
     (unwind-protect
@@ -413,6 +414,17 @@
 	    (goto-char (point-min))
 	    (if (re-search-forward "^FCC:" delimline t)
 		(mail-do-fcc delimline))
+	    (goto-char (point-min))
+	    (require 'mail-utils)
+	    (while (re-search-forward "^Resent-to:" delimline t)
+	      (setq resend-to-addresses
+		    (save-restriction
+		      (narrow-to-region (point)
+					(save-excursion
+					  (end-of-line)
+					  (point)))
+		      (append (mail-parse-comma-list)
+			      resend-to-addresses))))
 ;;; Apparently this causes a duplicate Sender.
 ;;;	    ;; If the From is different than current user, insert Sender.
 ;;;	    (goto-char (point-min))
@@ -450,8 +462,7 @@
 			       (if (boundp 'sendmail-program)
 				   sendmail-program
 				 "/usr/lib/sendmail")
-			       nil errbuf nil
-			       "-oi" "-t")
+			       nil errbuf nil "-oi")
 			 ;; Always specify who from,
 			 ;; since some systems have broken sendmails.
 			 (list "-f" (user-login-name))
@@ -462,7 +473,14 @@
 			      (list (concat "-oA" mail-alias-file)))
 			 ;; These mean "report errors by mail"
 			 ;; and "deliver in background".
-			 (if (null mail-interactive) '("-oem" "-odb"))))
+			 (if (null mail-interactive) '("-oem" "-odb"))
+			 ;; Get the addresses from the message
+			 ;; unless this is a resend.
+			 ;; We must not do that for a resend
+			 ;; because we would find the original addresses.
+			 ;; For a resend, include the specific addresses.
+			 (or resend-to-addresses
+			     '("-t"))))
 	  (if mail-interactive
 	      (save-excursion
 		(set-buffer errbuf)