> --- > git-send-email.perl | 3 ++- > 1 file changed, 2 insertions(+), 1 deletion(-) > > diff --git a/git-send-email.perl b/git-send-email.perl > index 4215f8f7e9..17d26dffde 100755 > --- a/git-send-email.perl > +++ b/git-send-email.perl > @@ -1359,7 +1359,8 @@ sub process_address_list { > > sub valid_fqdn { > my $domain = shift; > - return defined $domain && !($^O eq 'darwin' && $domain =~ /\.local$/) && $domain =~ /\./; > + return defined $domain && !($^O eq 'darwin' && $domain =~ /\.local$/) > + && $domain =~ /^(?!-)[A-Za-z0-9-]{1,63}(?<!-)(\.(?!-)[A-Za-z0-9-]{1,63}(?<!-))*$/; > } > > sub maildomain_net { FWIW, if you wanna test this regexp, this simple perl script could help: ---->8---- #!/usr/bin/perl my @domains = ("macbook", "example.com", "-bad.com", "too..many.dots", "good-domain.org", "someone.-example.com", "some.hdhd-.com"); foreach my $d (@domains) { if ($d =~ /^(?!-)[A-Za-z0-9-]{1,63}(?<!-)(\.(?!-)[A-Za-z0-9-]{1,63}(?<!-))*$/) { print "$d => Valid\n"; } else { print "$d => Invalid\n"; } } ---------- Also I am thinking of using `hostname -f` as a method to be used on Linux and macOS before using the Net::Domain library.