git/list[1] front-page[2] threads[3] people[4] search[5] about
 

[PATCH 8/9] Allow users to optionally specify their envelope sender.

From
Robin H. Johnson <robbat2@gentoo.org>
Date
Apr 26, 2007, 02:37 UTC
Message-ID
<11775550433762-git-send-email-robbat2@gentoo.org>
In-Reply-To
<1177555043174-git-send-email-robbat2@gentoo.org>
From: Robin H. Johnson <robbat2@gentoo.org>

If your normal user is not the same user you are subscribed to a list with, then the default envelope sender used will cause your messages to bounce or silently vanish into the ether.

This patch provides an optional parameter to set the envelope sender. To use it with the sendmail binary, you must have privileges to use the -f parameter!

Signed-off-by: Robin H. Johnson <robbat2@gentoo.org>
---
 git-send-email.perl |   10 +++++++++-
 1 files changed, 9 insertions(+), 1 deletions(-)
diff --git a/git-send-email.perl b/git-send-email.perl
index 82468bd..e1562b3 100755
--- a/git-send-email.perl
+++ b/git-send-email.perl
@@ -79,6 +79,8 @@ Options:
 
    --dry-run	  Do everything except actually send the emails.
 
+   --envelope-sender	Specify the envelope sender used to send the emails.
+
 EOT
 	exit(1);
 }
@@ -139,6 +141,7 @@ my (@to,@cc,@initial_cc,@bcclist,@xh,
 my ($chain_reply_to, $quiet, $suppress_from, $no_signed_off_cc,
 	$dry_run) = (1, 0, 0, 0, 0);
 my $smtp_server;
+my $envelope_sender;
 
 # Example reply to:
 #$initial_reply_to = ''; #<20050203173208.GA23964@foobar.com>';
@@ -177,6 +180,7 @@ my $rc = GetOptions("from=s" => \$from,
 		    "suppress-from" => \$suppress_from,
 		    "no-signed-off-cc|no-signed-off-by-cc" => \$no_signed_off_cc,
 		    "dry-run" => \$dry_run,
+		    "envelope-sender=s" => \$envelope_sender,
 	 );
 
 unless ($rc) {
@@ -479,7 +483,11 @@ X-Mailer: git-send-email $gitversion
 	}
 
 	my @sendmail_parameters = ('-i', @recipients);
-	my $raw_from = extract_valid_address($from);
+	my $raw_from = $from;
+	$raw_from = $envelope_sender if (defined $envelope_sender);
+	$raw_from = extract_valid_address($raw_from);
+	unshift (@sendmail_parameters,
+			'-f', $raw_from) if(defined $envelope_sender);
 
 	if ($dry_run) {
 		# We don't want to send the email.
-- 
1.5.2.rc0.43.g2f4c7
Previous: Robin H. JohnsonNext: Robin H. Johnson
Message 9 of 13 in “git-send-email fixes, cleanups and improvements”
  1. Robin H. JohnsonApr 26, 2007
  2. 1/9 Document --dry-run parameter to send-email.Robin H. Johnson, Apr 26, 2007
  3. 2/9 Prefix Dry- to the message status to denote dry-runs.Robin H. Johnson, Apr 26, 2007
  4. 3/9 Debugging cleanup improvementsRobin H. Johnson, Apr 26, 2007
  5. 4/9 Change the scope of the $cc variable as it is not needed outside of send_message.Robin H. Johnson, Apr 26, 2007
  6. 5/9 Perform correct quoting of recipient names.Robin H. Johnson, Apr 26, 2007
  7. 6/9 Validate @recipients before using it for sendmail and Net::SMTP.Robin H. Johnson, Apr 26, 2007
  8. 7/9 Ensure clean addresses are always used with Net::SMTPRobin H. Johnson, Apr 26, 2007
  9. 8/9 Allow users to optionally specify their envelope sender.Robin H. Johnson, Apr 26, 2007
  10. 9/9 Document --dry-run and envelope-sender for git-send-email.Robin H. Johnson, Apr 26, 2007
  11. Junio C HamanoApr 26, 2007
  12. Robin H. JohnsonApr 26, 2007
  13. 10/9 Sanitize @to recipients.Robin H. Johnson, Apr 26, 2007

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.