# path must be marked as (S)een
$path =~ /:2,[A-R]*S[T-Za-z]*\z/ or return;
my $mime = _path_to_mime($path) or return;
- _force_mid($mime);
$self->{config}->each_inbox(sub {
my ($ibx) = @_;
eval {
})
}
-# used to hash the relevant portions of a message when there are conflicts
-sub _hash_mime2 {
- my ($mime) = @_;
- require Digest::SHA;
- my $dig = Digest::SHA->new('SHA-1');
- $dig->add($mime->header_obj->header_raw('Subject'));
- $dig->add($mime->body_raw);
- $dig->hexdigest;
-}
-
-sub _force_mid {
- my ($mime) = @_;
- # probably a bad idea, but we inject a Message-Id if
- # one is missing, here..
- my $mid = $mime->header_obj->header_raw('Message-Id');
- if (!defined $mid || $mid =~ /\A\s*\z/) {
- $mid = '<' . _hash_mime2($mime) . '@generated>';
- $mime->header_set('Message-Id', $mid);
- }
-}
-
sub _try_path {
my ($self, $path) = @_;
my @p = split(m!/+!, $path);
$mime = $ret;
}
- _force_mid($mime);
$im->add($mime, $self->{spamcheck});
}