Filtering

Allow users to categorize spam using IMAP

We will allow users to categorize mail as Spam by placing them in user-specific Spam mailboxes. Contrary moving a message flagged as Spam to any other mailbox will relearn it as Ham. IMAPSieve configuration Dovecot supports this via its IMAPSieve plugin which we will configure in our custom configuration /etc/dovecot/local.conf to avoid touching release-specific files in […]

Rspamd statistics configuration with Redis

Rspamd is able to use combinations of words to qualify messages as Spam or Ham. We will configure it to learn these tokens per user and store them in redis with a TTL of 100 days as spammers may develop new methods over time. The key idea of OSB algorithm is to use not merely […]

Cleanup mail headers using Postfix

Many mail systems add custom headers to outgoing mails to indicate scans, general processing or spam decisions. While this bloats up messages in general, it may also conflict with headers the local MTA wants to use. We will therefore clean up some usual suspects before our MTA will filter the incomming mails. External headers A […]

Sieve filter recipes

Spam filtering Some mailing-lists tend to be more spammy than others. If we put a filter before they are handled by the rest of the script, we can fish for bad guys before they get filed. #selective spam filter if allof (envelope :matches :domain “From” [“*debian.org”,”*kernel.org”,”*icinga.org”,”*mutt.org”,”*nginx.org”], header :contains “X-My-Unique-Spam-Flag” “Yes”) { fileinto “Spam”; stop; } […]