The general settings for the spam filter can be found in the etc/spamfilter/scripts/config.sieve script. In this script, each configuration parameter is defined using the Sieve scripting language's variable mechanism. To set a variable, the let keyword is employed, followed by the variable's name, and then its designated value.
As mentioned in the tags and scores section, the spam filter's analysis of incoming messages yields a series of tags, each with a corresponding score. To determine the email's overall classification (spam or ham), scores associated with these tags play a crucial role.
The spam filter requires a database in order to maintain and manage various crucial pieces of information. The database to use is configured as a directory named spamdb under the etc/smtp/spamfilter.toml configuration file.
📄️ MIME Types
Filename extensions along with their expected mime types and associated flags are listed in the etc/spamfilter/maps/mime_types.map file. These flags provide the spam filter with guidelines on how to handle emails containing files with these extensions, allowing for a more informed and precise classification of potentially malicious emails.
📄️ Domain Lists
Some of the lists available under the etc/spamfilter/maps directory provide the spam filter with guidelines on handling emails from or containing specific domains. These lists contain one domain per line and are used to categorize domains based on their characteristics and help streamline the email filtering process. Let's delve into the details of each list: