summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLibravatar Eric Wong <normalperson@yhbt.net>2006-05-15 02:41:01 -0700
committerLibravatar Junio C Hamano <junkio@cox.net>2006-05-15 12:14:22 -0700
commitdb3106b274a75d5b9ea7f6fe1030b8528df7389b (patch)
tree13b2347fe0bbfb0547e8ace49e598abf7eea07c4
parentsend-email: allow sendmail binary to be used instead of SMTP (diff)
downloadtgif-db3106b274a75d5b9ea7f6fe1030b8528df7389b.tar.xz
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>
-rwxr-xr-xgit-send-email.perl15
1 files changed, 12 insertions, 3 deletions
diff --git a/git-send-email.perl b/git-send-email.perl
index 0540e93758..312a4ea2aa 100755
--- a/git-send-email.perl
+++ b/git-send-email.perl
@@ -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(@) {
my @emails;
foreach my $entry (@_) {
- my $clean = extract_valid_address($entry);
- next if $seen{$clean}++;
- push @emails, $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;
}