send-email: automatic envelope sender
This adds the option to specify the envelope sender as "auto" which would pick the 'from' address. This is good because now we can specify the address only in one place in $HOME/.gitconfig and change it easily. [jc: added tests] Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
parent
4f333bc1d3
commit
c89e324145
@ -108,9 +108,10 @@ Sending
|
||||
--envelope-sender=<address>::
|
||||
Specify the envelope sender used to send the emails.
|
||||
This is useful if your default address is not the address that is
|
||||
subscribed to a list. If you use the sendmail binary, you must have
|
||||
suitable privileges for the -f parameter. Default is the value of
|
||||
the 'sendemail.envelopesender' configuration variable; if that is
|
||||
subscribed to a list. In order to use the 'From' address, set the
|
||||
value to "auto". If you use the sendmail binary, you must have
|
||||
suitable privileges for the -f parameter. Default is the value of the
|
||||
'sendemail.envelopesender' configuration variable; if that is
|
||||
unspecified, choosing the envelope sender is left to your MTA.
|
||||
|
||||
--smtp-encryption=<encryption>::
|
||||
|
@ -861,7 +861,9 @@ X-Mailer: git-send-email $gitversion
|
||||
|
||||
my @sendmail_parameters = ('-i', @recipients);
|
||||
my $raw_from = $sanitized_sender;
|
||||
$raw_from = $envelope_sender if (defined $envelope_sender);
|
||||
if (defined $envelope_sender && $envelope_sender ne "auto") {
|
||||
$raw_from = $envelope_sender;
|
||||
}
|
||||
$raw_from = extract_valid_address($raw_from);
|
||||
unshift (@sendmail_parameters,
|
||||
'-f', $raw_from) if(defined $envelope_sender);
|
||||
|
@ -112,6 +112,23 @@ test_expect_success \
|
||||
'Verify commandline' \
|
||||
'test_cmp expected commandline1'
|
||||
|
||||
test_expect_success 'Send patches with --envelope-sender=auto' '
|
||||
clean_fake_sendmail &&
|
||||
git send-email --envelope-sender=auto --suppress-cc=sob --from="Example <nobody@example.com>" --to=nobody@example.com --smtp-server="$(pwd)/fake.sendmail" $patches 2>errors
|
||||
'
|
||||
|
||||
cat >expected <<\EOF
|
||||
!nobody@example.com!
|
||||
!-i!
|
||||
!nobody@example.com!
|
||||
!author@example.com!
|
||||
!one@example.com!
|
||||
!two@example.com!
|
||||
EOF
|
||||
test_expect_success \
|
||||
'Verify commandline' \
|
||||
'test_cmp expected commandline1'
|
||||
|
||||
cat >expected-show-all-headers <<\EOF
|
||||
0001-Second.patch
|
||||
(mbox) Adding cc: A <author@example.com> from line 'From: A <author@example.com>'
|
||||
|
Loading…
Reference in New Issue
Block a user