diff options
-rwxr-xr-x | git-send-email.perl | 6 | ||||
-rwxr-xr-x | t/t9001-send-email.sh | 19 |
2 files changed, 17 insertions, 8 deletions
diff --git a/git-send-email.perl b/git-send-email.perl index d418d6c5d..0e368fff0 100755 --- a/git-send-email.perl +++ b/git-send-email.perl @@ -387,7 +387,9 @@ X-Mailer: git-send-email $gitversion my $pid = open my $sm, '|-'; defined $pid or die $!; if (!$pid) { - exec($smtp_server,'-i',@recipients) or die $!; + exec($smtp_server,'-i', + map { scalar extract_valid_address($_) } + @recipients) or die $!; } print $sm "$header\n$message"; close $sm or die $?; @@ -420,7 +422,7 @@ X-Mailer: git-send-email $gitversion } $reply_to = $initial_reply_to; -$references = $initial_reply_to; +$references = $initial_reply_to || ''; make_message_id(); $subject = $initial_subject; diff --git a/t/t9001-send-email.sh b/t/t9001-send-email.sh index 276cbac3b..a61da1efb 100755 --- a/t/t9001-send-email.sh +++ b/t/t9001-send-email.sh @@ -13,10 +13,14 @@ test_expect_success \ test_expect_success \ 'Setup helper tool' \ - 'echo "#!/bin/sh" > fake.sendmail - echo "shift" >> fake.sendmail - echo "echo \"\$*\" > commandline" >> fake.sendmail - echo "cat > msgtxt" >> fake.sendmail + '(echo "#!/bin/sh" + echo shift + echo for a + echo do + echo " echo \"!\$a!\"" + echo "done >commandline" + echo "cat > msgtxt" + ) >fake.sendmail chmod +x ./fake.sendmail git add fake.sendmail GIT_AUTHOR_NAME="A" git commit -a -m "Second."' @@ -26,9 +30,12 @@ test_expect_success \ 'git format-patch -n HEAD^1 git send-email -from="Example <nobody@example.com>" --to=nobody@example.com --smtp-server="$(pwd)/fake.sendmail" ./0001*txt' +cat >expected <<\EOF +!nobody@example.com! +!author@example.com! +EOF test_expect_success \ 'Verify commandline' \ - 'cline=$(cat commandline) - [ "$cline" == "nobody@example.com author@example.com" ]' + 'diff commandline expected' test_done |