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-21 22:46:04 +0000
committerEric Wong <e@80x24.org>2016-04-21 22:46:04 +0000
commit1ef09f609adb0afc9efa5a3ff1600bae3c9587e6 (patch)
tree8c0956783be75b1c47008250edc0b57d3a5ec478 /lib/PublicInbox/MDA.pm
parent2f8d30432668e0cf17fac08637fecf66cf4e07ac (diff)
downloadpublic-inbox-1ef09f609adb0afc9efa5a3ff1600bae3c9587e6.tar.gz
While ssoma now documents it uses the first Message-ID, they
are confusing and could be a sign of a broken mail software,
and broken mail software is often a sign of spam...

ref: http://public-inbox.org/meta/20160421221128.4910-1-e@80x24.org/
Diffstat (limited to 'lib/PublicInbox/MDA.pm')
-rw-r--r--lib/PublicInbox/MDA.pm4
1 files changed, 3 insertions, 1 deletions
diff --git a/lib/PublicInbox/MDA.pm b/lib/PublicInbox/MDA.pm
index 003bac65..26681c2f 100644
--- a/lib/PublicInbox/MDA.pm
+++ b/lib/PublicInbox/MDA.pm
@@ -23,7 +23,9 @@ sub __drop_plus {
 sub precheck {
         my ($klass, $filter, $address) = @_;
         my Email::Simple $simple = $filter->simple;
-        my $mid = $simple->header("Message-ID");
+        my @mid = $simple->header('Message-ID');
+        return 0 if scalar(@mid) != 1;
+        my $mid = $mid[0];
         return 0 if (length($mid) > MAX_MID_SIZE);
         return 0 unless usable_str(length('<m@h>'), $mid) && $mid =~ /\@/;
         return 0 unless usable_str(length('u@h'), $filter->from);