X-Git-Url: https://git.octo.it/?a=blobdiff_plain;f=git-send-email.perl;h=ed1d89b3f73564715d0fe4061e87f63fea7e7be2;hb=ce0bd64299ae148ef61a63edcac635de41254cb5;hp=85ec5df13ab1cb5868ab781e8b68d283f006e020;hpb=580632458902b440cba41f0a5a1d27192221e1b9;p=git.git diff --git a/git-send-email.perl b/git-send-email.perl index 85ec5df1..ed1d89b3 100755 --- a/git-send-email.perl +++ b/git-send-email.perl @@ -21,7 +21,6 @@ use warnings; use Term::ReadLine; use Getopt::Long; use Data::Dumper; -use Net::SMTP; # most mail servers generate the Date: header, but not all... $ENV{LC_ALL} = 'C'; @@ -322,7 +321,11 @@ sub extract_valid_address { } else { # less robust/correct than the monster regexp in Email::Valid, # but still does a 99% job, and one less dependency - return ($address =~ /([^\"<>\s]+@[^<>\s]+)/); + my $cleaned_address; + if ($address =~ /([^\"<>\s]+@[^<>\s]+)/) { + $cleaned_address = $1; + } + return $cleaned_address; } } @@ -383,11 +386,14 @@ 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 $?; } else { + require Net::SMTP; $smtp ||= Net::SMTP->new( $smtp_server ); $smtp->mail( $from ) or die $smtp->message; $smtp->to( @recipients ) or die $smtp->message; @@ -416,6 +422,7 @@ X-Mailer: git-send-email $gitversion } $reply_to = $initial_reply_to; +$references = $initial_reply_to || ''; make_message_id(); $subject = $initial_subject;