diff options
author | Eric Wong <e@80x24.org> | 2019-10-28 10:45:20 +0000 |
---|---|---|
committer | Eric Wong <e@80x24.org> | 2019-10-30 08:48:14 +0000 |
commit | d1525c3b35e9aa1bb14143996a7fa2b6e34cba3e (patch) | |
tree | 1723d155c807bd01d39a929078a70c65bc3bcf77 /script/public-inbox-learn | |
parent | 29beb70160d15ffe46cb07e9d9468acfcda34db7 (diff) | |
download | public-inbox-d1525c3b35e9aa1bb14143996a7fa2b6e34cba3e.tar.gz |
It's now possible to inject false-positive ham into an inbox the same way -mda does via List-ID.
Diffstat (limited to 'script/public-inbox-learn')
-rw-r--r--[-rwxr-xr-x] | script/public-inbox-learn | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/script/public-inbox-learn b/script/public-inbox-learn index 56739f88..79f3ead5 100755..100644 --- a/script/public-inbox-learn +++ b/script/public-inbox-learn @@ -77,7 +77,7 @@ if ($train eq 'spam') { $im->done; }); } else { - require PublicInbox::MDA if $train eq "ham"; + require PublicInbox::MDA; # get all recipients my %dests; # address => <PublicInbox::Inbox|0(false)> @@ -89,10 +89,16 @@ if ($train eq 'spam') { } # n.b. message may be cross-posted to multiple public-inboxes + my %seen; while (my ($addr, $ibx) = each %dests) { next unless ref($ibx); # $ibx may be 0 + next if $seen{"$ibx"}++; remove_or_add($ibx, $train, $addr); } + my $ibx = PublicInbox::MDA->inbox_for_list_id($pi_config, $mime); + if ($ibx && !$seen{"$ibx"}) { + remove_or_add($ibx, $train, $ibx->{-primary_address}); + } } if ($err) { |