KillHunter,
Я использую Cyrus и sieve. Для dovecot, наверное, dovecot-sieve.
Вот пример скрипта для пользователя IVANOV.
Код:

require ["fileinto"];
# Move spam to spam folder
if header :contains "X-Spam-Flag" ["YES"] {
fileinto "user.IVANOV.spam";
stop;
}