
Jason White <jason@jasonjgw.net> writes:
I'm using CRM114 [and] Dovecot IMAP [...]
What's the best way to set up automatic retraining of messages on the server Several options come to mind, including incron, a systemd timer unit, a cron job. The desired effect is:
Everything that is moved into the spam folder from elsewhere is classified as spam.
Everything moved out of the spam folder is retrained as good.
crm114 can also be trained by IMAP MOVE commands by putting the appropriate hook in your dovecot stack. This is preferable, because then it trains *immediately* and only on messages that changed. This is documented on the crm114 website somewhere. We don't do that here (Cyber) because -- SURPRISE! -- mutt is too dumb to EVER use IMAP MOVE. Even when both mailboxes are on the same server, it does a download + upload + delete orig. Instead we have a nightly cronjob. We blissfully pretend that "find -mtime 3" is reliable way to train on each message only once -- before that, it'd train on the same messages every night, so a message that was classed as spam a year ago would act like 365 separate messages for the trainer. Jason, I can send you my raw scripts, but they're too embarrassingly awful to publish to the list.