diff options
author | Eric Wong <e@80x24.org> | 2016-04-25 05:07:26 +0000 |
---|---|---|
committer | Eric Wong <e@80x24.org> | 2016-04-25 05:07:26 +0000 |
commit | 837323706d89660923ac2aed21f07f12ad80be72 (patch) | |
tree | f900c6f9005030d3ae2c66055b572302608eeee5 | |
parent | 9ff2426963f67e2031e49b7b598f254ab75057fd (diff) | |
download | public-inbox-837323706d89660923ac2aed21f07f12ad80be72.tar.gz |
We may be importing mail from other lists, so do not clobber the existing List-Id header.
-rw-r--r-- | lib/PublicInbox/MDA.pm | 21 |
1 files changed, 13 insertions, 8 deletions
diff --git a/lib/PublicInbox/MDA.pm b/lib/PublicInbox/MDA.pm index 26681c2f..2d3b9bd8 100644 --- a/lib/PublicInbox/MDA.pm +++ b/lib/PublicInbox/MDA.pm @@ -66,15 +66,20 @@ 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); } } |