Browse Source

send-email: quiet some warnings, reject invalid addresses

I'm not sure why we never actually rejected invalid addresses in
the first place.  We just seemed to be using our email validity
checkers to kill duplicates.

Now we just drop invalid email addresses completely and warn
the user about it.

Since we support local sendmail, we'll also accept username-only
addresses.

Signed-off-by: Eric Wong <normalperson@yhbt.net>
Signed-off-by: Junio C Hamano <junkio@cox.net>
maint
Eric Wong 19 years ago committed by Junio C Hamano
parent
commit
db3106b274
  1. 11
      git-send-email.perl

11
git-send-email.perl

@ -307,6 +307,10 @@ our ($message_id, $cc, %mail, $subject, $reply_to, $message); @@ -307,6 +307,10 @@ our ($message_id, $cc, %mail, $subject, $reply_to, $message);

sub extract_valid_address {
my $address = shift;

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

if ($have_email_valid) {
return Email::Valid->address($address);
} else {
@ -498,9 +502,14 @@ sub unique_email_list(@) { @@ -498,9 +502,14 @@ sub unique_email_list(@) {
my @emails;

foreach my $entry (@_) {
my $clean = extract_valid_address($entry);
if (my $clean = extract_valid_address($entry)) {
$seen{$clean} ||= 0;
next if $seen{$clean}++;
push @emails, $entry;
} else {
print STDERR "W: unable to extract a valid address",
" from: $entry\n";
}
}
return @emails;
}

Loading…
Cancel
Save