send-email: add sendmail email aliases format
Teach send-email to read aliases in the sendmail aliases format, i.e. <alias>: <address|alias>[, <address|alias>...] Examples: alice: Alice W Land <awol@example.com> bob: Robert Bobbyton <bob@example.com> # this is a comment # this is also a comment chloe: chloe@example.com abgroup: alice, bob bcgrp: bob, chloe, Other <o@example.com> - Quoted aliases and quoted addresses are not supported. - Line continuations are not supported. Warnings are printed for explicitly unsupported constructs, and any other lines that are not matched by the parser. Signed-off-by: Allen Hubbe <allenbh@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
committed by
Junio C Hamano
parent
9532ead987
commit
3169e06daf
@ -516,6 +516,31 @@ my %parse_alias = (
|
||||
}
|
||||
} },
|
||||
|
||||
sendmail => sub { my $fh = shift; while (<$fh>) {
|
||||
# ignore blank lines and comment lines
|
||||
if (/^\s*(?:#.*)?$/) { }
|
||||
|
||||
# warn on lines that contain quotes
|
||||
elsif (/"/) {
|
||||
print STDERR "sendmail alias with quotes is not supported: $_\n";
|
||||
}
|
||||
|
||||
# warn on lines that continue
|
||||
elsif (/^\s|\\$/) {
|
||||
print STDERR "sendmail continuation line is not supported: $_\n";
|
||||
}
|
||||
|
||||
# recognize lines that look like an alias
|
||||
elsif (/^(\S+?)\s*:\s*(.+)$/) {
|
||||
my ($alias, $addr) = ($1, $2);
|
||||
$aliases{$alias} = [ split_addrs($addr) ];
|
||||
}
|
||||
|
||||
# warn on lines that are not recognized
|
||||
else {
|
||||
print STDERR "sendmail line is not recognized: $_\n";
|
||||
}}},
|
||||
|
||||
gnus => sub { my $fh = shift; while (<$fh>) {
|
||||
if (/\(define-mail-alias\s+"(\S+?)"\s+"(\S+?)"\)/) {
|
||||
$aliases{$1} = [ $2 ];
|
||||
|
||||
Reference in New Issue
Block a user