#
################################################
### Managed by someone's ansible provisioner ###
################################################
# Part of: https://git.somenet.org/root/pub/somesible.git
# 2017-2025 by someone <someone@somenet.org>
#

# also see /etc/default/spamassassin
time_limit 1800
dns_available yes


use_bayes 1
bayes_store_module Mail::SpamAssassin::BayesStore::SDBM
bayes_path /var/lib/spamassassin/bayes
bayes_file_mode 0660
bayes_auto_learn 1
#bayes_learn_to_journal 1
#bayes_journal_max_size 102400

# use periodic cronjob + lru cleanup instead.
bayes_auto_expire 0
#bayes_expiry_max_db_size 5000000
# not settable here - need to hardcode in default settings:
# /usr/share/perl5/Mail/SpamAssassin/Conf.pm
# $self->{bayes_expiry_max_exponent} = ...;

# debug which file is learning by adding:
# /usr/share/perl5/Mail/SpamAssassin/ArchiveIterator.pm:368
# dbg("archive-iterator: processing: $where");


report_safe 0
fold_headers 0
clear_headers
add_header all Flag _YESNOCAPS_
add_header all Status _YESNO_, score=_SCORE_ required=_REQD_ tests=[_TESTSSCORES_] autolearn=_AUTOLEARN_ _TOKENSUMMARY_
add_header all Spammy _SPAMMYTOKENS(5,long)_
add_header all Hammy _HAMMYTOKENS(5,long)_

bayes_ignore_header X-Cyrus-Session-Id
bayes_ignore_header X-Sieve
bayes_ignore_header X-Spam-Flag
bayes_ignore_header X-Spam-Status
bayes_ignore_header X-Spam-Spammy
bayes_ignore_header X-Spam-Hammy

bayes_ignore_header Authentication-Results

# ignored AND removed by postfix later.
bayes_ignore_header X-Spam-Checker-Version
bayes_ignore_header X-Spam
bayes_ignore_header X-Spamd-Bar
bayes_ignore_header X-Spamd-Result
bayes_ignore_header X-Rspamd-Action
bayes_ignore_header X-Rspamd-Queue-Id
bayes_ignore_header X-Rspamd-Server

bayes_ignore_header X-Greylist
bayes_ignore_header X-Virus-Scanned


loadplugin Mail::SpamAssassin::Plugin::AutoLearnThreshold
bayes_auto_learn_threshold_nonspam -1.0
bayes_auto_learn_threshold_spam 7.0


score BAYES_00  -2.9
score BAYES_05  -1.2
score BAYES_20  -0.5
score BAYES_40  -0.1
score BAYES_50   1.0
score BAYES_60   1.9
score BAYES_80   2.6
score BAYES_95   3.4
score BAYES_99   3.9
score BAYES_999  1.4


# allows too much spam over mailinglists
score RCVD_IN_DNSWL_MED 0 -0.3 0 -0.3