X-Git-Url: http://www.git.stargrave.org/?a=blobdiff_plain;f=lib%2FPublicInbox%2FMDA.pm;h=b1471022121d2743d4bcca120f9254a90be4c4fa;hb=fe3d2447badd595df784541556311137b920b0a2;hp=26681c2f3f10a06d5ce3b9e57081004029323525;hpb=1ef09f609adb0afc9efa5a3ff1600bae3c9587e6;p=public-inbox.git diff --git a/lib/PublicInbox/MDA.pm b/lib/PublicInbox/MDA.pm index 26681c2f..b1471022 100644 --- a/lib/PublicInbox/MDA.pm +++ b/lib/PublicInbox/MDA.pm @@ -10,7 +10,6 @@ use Email::Address; use Date::Parse qw(strptime); use constant MAX_SIZE => 1024 * 500; # same as spamc default, should be tunable use constant MAX_MID_SIZE => 244; # max term size - 1 in Xapian -use constant cmd => qw/ssoma-mda -1/; # drop plus addressing for matching sub __drop_plus { @@ -66,28 +65,22 @@ sub alias_specified { sub set_list_headers { my ($class, $simple, $dst) = @_; - my $pa = $dst->{-primary_address}; - - $simple->header_set("List-Id", "<$pa>"); # RFC2919 + unless (defined $simple->header('List-Id')) { + my $pa = $dst->{-primary_address}; + $simple->header_set("List-Id", "<$pa>"); # RFC2919 + } - # remove Delivered-To: prevent training loops - # The rest are taken from Mailman 2.1.15, some may be used for phishing - foreach my $h (qw(delivered-to approved approve x-approved x-approve - urgent return-receipt-to disposition-notification-to - x-confirm-reading-to x-pmrqc)) { + foreach my $h (qw(delivered-to), # prevent training loops + # The rest are taken from Mailman 2.1.15 + # could contain passwords: + qw(approved approve x-approved x-approve urgent), + # could be used phishing: + qw(return-receipt-to disposition-notification-to + x-confirm-reading-to), + # Pegasus mail: + qw(x-pmrqc)) { $simple->header_set($h); } } -# returns a 3-element array: name, email, date -sub author_info { - my ($class, $mime) = @_; - - my $from = $mime->header('From'); - my @from = Email::Address->parse($from); - my $name = $from[0]->name; - my $email = $from[0]->address; - ($name, $email, $mime->header('Date')); -} - 1;