Skip to content

Commit

Permalink
Merge branch 'vb/sendemail'
Browse files Browse the repository at this point in the history
* vb/sendemail:
  send-email: a bit more careful domain regexp.
  send-email: be more lenient and just catch obvious mistakes.
  Cleanup git-send-email.perl:extract_valid_email
  • Loading branch information
Junio C Hamano committed Jun 6, 2006
2 parents 3026402 + 09302e1 commit ad0e0b0
Showing 1 changed file with 7 additions and 8 deletions.
15 changes: 7 additions & 8 deletions git-send-email.perl
Original file line number Diff line number Diff line change
Expand Up @@ -312,20 +312,19 @@ sub expand_aliases {

sub extract_valid_address {
my $address = shift;
my $local_part_regexp = '[^<>"\s@]+';
my $domain_regexp = '[^.<>"\s@]+(?:\.[^.<>"\s@]+)+';

# check for a local address:
return $address if ($address =~ /^([\w\-]+)$/);
return $address if ($address =~ /^($local_part_regexp)$/);

if ($have_email_valid) {
return Email::Valid->address($address);
return scalar Email::Valid->address($address);
} else {
# less robust/correct than the monster regexp in Email::Valid,
# but still does a 99% job, and one less dependency
my $cleaned_address;
if ($address =~ /([^\"<>\s]+@[^<>\s]+)/) {
$cleaned_address = $1;
}
return $cleaned_address;
$address =~ /($local_part_regexp\@$domain_regexp)/;
return $1;
}
}

Expand Down Expand Up @@ -387,7 +386,7 @@ sub send_message
defined $pid or die $!;
if (!$pid) {
exec($smtp_server,'-i',
map { scalar extract_valid_address($_) }
map { extract_valid_address($_) }
@recipients) or die $!;
}
print $sm "$header\n$message";
Expand Down

0 comments on commit ad0e0b0

Please sign in to comment.