Есть:
Postfix, spamassasin.
Spamassasin добавляет в начало subject текст SPAM, если определил спам)
MTA обслуживает несколько почтовых доменов, пользователи забирают и по pop и по imap, авторизация как юзер@домен
Нужно. Как это сделать:
1. При обнаружении SPAM в начале subject перемещать письмо в подпапку(в maildir) SPAM того пользователя и домена, кому шло письмо. Если папки нет - создават. (Для imap в отдельную папку, для pop в inbox). Если письмо шло не какому-то конкретному юзеру домена, но получило статус в subject - SPAM - перемещать его в папки SPAM всем пользователям домена.
2. При не успешных проверках правилами postfix входящего письма не просто reject ему, а ещё класть в inbox пользователя(кому шло письмо) сообщение с указанием причины отклонения входящего письма.