diff options
author | Eric Wong <e@80x24.org> | 2016-06-24 01:15:16 +0000 |
---|---|---|
committer | Eric Wong <e@80x24.org> | 2016-06-24 07:03:47 +0000 |
commit | 40782735e74e427997b5b900d60cc07597e330c3 (patch) | |
tree | c2131a869e83df2173eda00cdfee988d48594b67 /lib/PublicInbox/Import.pm | |
parent | f881729b5654a707cbc22dd0a386b3cbdff68d83 (diff) | |
download | public-inbox-40782735e74e427997b5b900d60cc07597e330c3.tar.gz |
Mailing lists I watch and mirror may not have the best spam filtering, and an extra layer should not hurt.
Diffstat (limited to 'lib/PublicInbox/Import.pm')
-rw-r--r-- | lib/PublicInbox/Import.pm | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/lib/PublicInbox/Import.pm b/lib/PublicInbox/Import.pm index 5ffc26ef..27f36a7e 100644 --- a/lib/PublicInbox/Import.pm +++ b/lib/PublicInbox/Import.pm @@ -140,7 +140,7 @@ sub remove { # returns undef on duplicate sub add { - my ($self, $mime) = @_; # mime = Email::MIME + my ($self, $mime, $check_cb) = @_; # mime = Email::MIME my $from = $mime->header('From'); my ($email) = ($from =~ /([^<\s]+\@[^>\s]+)/g); @@ -170,6 +170,10 @@ sub add { # kill potentially confusing/misleading headers $mime->header_set($_) for qw(bytes lines content-length status); + if ($check_cb) { + $mime = $check_cb->($mime) or return; + } + $mime = $mime->as_string; my $blob = $self->{mark}++; print $w "blob\nmark :$blob\ndata ", length($mime), "\n" or wfail; |