On 5/15/2015 4:58 PM, Chris Adams wrote:
I'm running CentOS 7.1 with Dovecot 2.2.10 (CentOS packaged version). I have Postfix feeding messages to Dovecot for local delivery via LMTP, and I have Amavisd for spam filtering. For messages above a certain threshold, Amavisd adds the "X-Spam-Flag: YES" header, and I file that into the Spam folder using a default (system-wide) sieve script (there aren't any per-user sieve scripts set up):
require "fileinto"; if header :contains "X-Spam-Flag" "YES" { fileinto "Spam"; }
I can see it work on my test messages and from lmtp log entries.
However, it doesn't seem to always work. I had a user complain about a spam increase, and I looked in their mailbox. I see a message with the "X-Spam-Flag: YES" header, but it is in the INBOX (and the corresponding lmtp log entry shows that's where it went).
Why would the sieve script work on some messages and not others? I don't see any errors in the log. I see a bunch of messages from the same source to different users, and they were all filed into INBOX, not Spam.
Looking at the message in question, it is a pretty bogus message. There are multiple From: and Subject: headers. Would that cause sieve to "punt" on the message (but not log anything about it)?
You can check the handling of a particular message yourself using the
sieve-test tool (there is a man page for it). By specifying the -t - -Tlevel=matching
options, you'll get detailed information on why a
particular decision is made.
Without insight in your configuration (output from dovecot -n
) and an
example of a message that is mishandled, I cannot tell you more.
Regards,
Stephan.