Deliver: receives mail from postfix, and pushes it to couchdb after filtering. (just like dovecot-deliver or procmail)
Filter: receives mail from deliver and filters it. It should use SpamAssassin and ClamAV for spam filtering and virus scanning. After which it should apply any user specified rules.
Mail needs to be transported from the MTA (postfix) to couchdb. I propose we use 3 separate components: