about summary refs log tree commit homepage
path: root/lib/PublicInbox/MDA.pm
diff options
context:
space:
mode:
authorEric Wong <e@80x24.org>2016-04-25 05:07:26 +0000
committerEric Wong <e@80x24.org>2016-04-25 05:07:26 +0000
commit837323706d89660923ac2aed21f07f12ad80be72 (patch)
treef900c6f9005030d3ae2c66055b572302608eeee5 /lib/PublicInbox/MDA.pm
parent9ff2426963f67e2031e49b7b598f254ab75057fd (diff)
downloadpublic-inbox-837323706d89660923ac2aed21f07f12ad80be72.tar.gz
We may be importing mail from other lists, so do not
clobber the existing List-Id header.
Diffstat (limited to 'lib/PublicInbox/MDA.pm')
-rw-r--r--lib/PublicInbox/MDA.pm21
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);
         }
 }