Dan Swartzendruber wrote:
First off, I have to say I really like the antispam plugin. I am running a (relatively) new freebsd 8.0 server with postfix/dovecot/dspam/squirrelmail and it works great. Create a SPAM folder and tell the dovecot antispam plugin to use INBOX.SPAM as the spam folder and drag messages from INBOX to the spam folder and they are trained as spam. Here is the problem though: after training dspam for a couple of weeks, I had a couple hundred messages in the SPAM folder, so I selected them and hit the DELETE button and they were gone. Except they weren't. I had forgotten that by default squirrelmail moves deleted messages to a Trash folder under INBOX. So the messages were moved out of the SPAM folder, resulting in them being retrained as ham. Oops :( I then hit the purge link in squirrelmail and the messages were forever gone, so I couldn't rectify my gaffe. I have temporarily reconfigured squirrelmail to delete messages outright rather than save them in the Trash folder, but I don't like that as a long-term solution. What occurred to me is this: the current algorithm is: if message moves from * => SPAM, it is trained as spam, if it moves from SPAM => *, it is trained as ham. It would be nice if you could elaborate on that such that the ham rule was "if message moves from SPAM to X, it is ham" (and in my case, I would defined X as INBOX. Thoughts?
There is also a plugin setting that defines your Trash folder, which is meant to fix the issue you're seeing (excluding junk->trash moving from retraining).
# semicolon-separated list of Trash folders (default unset i.e. none) # antispam_trash = # antispam_trash = trash;Trash;Deleted Items; Deleted Messages
-- Regards, Tom