1Mail::SpamAssassin::PluUgsienr::CAoWnLt(r3i)buted Perl DMoaciulm:e:nStpaatmiAosnsassin::Plugin::AWL(3)
2
3
4
6 Mail::SpamAssassin::Plugin::AWL - Normalize scores via auto-whitelist
7
9 To try this out, add this or uncomment this line in init.pre:
10
11 loadplugin Mail::SpamAssassin::Plugin::AWL
12
13 Use the supplied 60_awl.cf file (ie you don't have to do anything) or
14 add these lines to a .cf file:
15
16 header AWL eval:check_from_in_auto_whitelist()
17 describe AWL From: address is in the auto white-list
18 tflags AWL userconf noautolearn
19 priority AWL 1000
20
22 This plugin module provides support for the auto-whitelist. It keeps
23 track of the average SpamAssassin score for senders. Senders are
24 tracked using a combination of their From: address and their IP
25 address. It then uses that average score to reduce the variability in
26 scoring from message to message and modifies the final score by pushing
27 the result towards the historical average. This improves the accuracy
28 of filtering for most email.
29
31 This plugin module adds the following "tags" that can be used as
32 placeholders in certain options. See "Mail::SpamAssassin::Conf" for
33 more information on TEMPLATE TAGS.
34
35 _AWL_ AWL modifier
36 _AWLMEAN_ Mean score on which AWL modification is based
37 _AWLCOUNT_ Number of messages on which AWL modification is based
38 _AWLPRESCORE_ Score before AWL
39
41 The following options can be used in both site-wide ("local.cf") and
42 user-specific ("user_prefs") configuration files to customize how
43 SpamAssassin handles incoming email messages.
44
45 use_auto_whitelist ( 0 | 1 ) (default: 1)
46 Whether to use auto-whitelists. Auto-whitelists track the long-
47 term average score for each sender and then shift the score of new
48 messages toward that long-term average. This can increase or
49 decrease the score for messages, depending on the long-term
50 behavior of the particular correspondent.
51
52 For more information about the auto-whitelist system, please look
53 at the the "Automatic Whitelist System" section of the README file.
54 The auto-whitelist is not intended as a general-purpose replacement
55 for static whitelist entries added to your config files.
56
57 Note that certain tests are ignored when determining the final
58 message score:
59
60 - rules with tflags set to 'noautolearn'
61
62 auto_whitelist_factor n (default: 0.5, range [0..1])
63 How much towards the long-term mean for the sender to regress a
64 message. Basically, the algorithm is to track the long-term mean
65 score of messages for the sender ("mean"), and then once we have
66 otherwise fully calculated the score for this message ("score"), we
67 calculate the final score for the message as:
68
69 "finalscore" = "score" + ("mean" - "score") * "factor"
70
71 So if "factor" = 0.5, then we'll move to half way between the
72 calculated score and the mean. If "factor" = 0.3, then we'll move
73 about 1/3 of the way from the score toward the mean. "factor" = 1
74 means just use the long-term mean; "factor" = 0 mean just use the
75 calculated score.
76
77 auto_whitelist_ipv4_mask_len n (default: 16, range [0..32])
78 The AWL database keeps only the specified number of most-
79 significant bits of an IPv4 address in its fields, so that
80 different individual IP addresses within a subnet belonging to the
81 same owner are managed under a single database record. As we have
82 no information available on the allocated address ranges of
83 senders, this CIDR mask length is only an approximation. The
84 default is 16 bits, corresponding to a former class B. Increase the
85 number if a finer granularity is desired, e.g. to 24 (class C) or
86 32. A value 0 is allowed but is not particularly useful, as it
87 would treat the whole internet as a single organization. The number
88 need not be a multiple of 8, any split is allowed.
89
90 auto_whitelist_ipv6_mask_len n (default: 48, range [0..128])
91 The AWL database keeps only the specified number of most-
92 significant bits of an IPv6 address in its fields, so that
93 different individual IP addresses within a subnet belonging to the
94 same owner are managed under a single database record. As we have
95 no information available on the allocated address ranges of
96 senders, this CIDR mask length is only an approximation. The
97 default is 48 bits, corresponding to an address range commonly
98 allocated to individual (smaller) organizations. Increase the
99 number for a finer granularity, e.g. to 64 or 96 or 128, or
100 decrease for wider ranges, e.g. 32. A value 0 is allowed but is
101 not particularly useful, as it would treat the whole internet as a
102 single organization. The number need not be a multiple of 4, any
103 split is allowed.
104
105 user_awl_sql_override_username
106 Used by the SQLBasedAddrList storage implementation.
107
108 If this option is set the SQLBasedAddrList module will override the
109 set username with the value given. This can be useful for
110 implementing global or group based auto-whitelist databases.
111
112 auto_whitelist_distinguish_signed
113 Used by the SQLBasedAddrList storage implementation.
114
115 If this option is set the SQLBasedAddrList module will keep
116 separate database entries for DKIM-validated e-mail addresses and
117 for non-validated ones. A pre-requisite when setting this option is
118 that a field awl.signedby exists in a SQL table, otherwise SQL
119 operations will fail (which is why we need this option at all - for
120 compatibility with pre-3.3.0 database schema). A plugin DKIM
121 should also be enabled, as otherwise there is no benefit from
122 turning on this option.
123
125 These settings differ from the ones above, in that they are considered
126 'more privileged' -- even more than the ones in the PRIVILEGED SETTINGS
127 section. No matter what "allow_user_rules" is set to, these can never
128 be set from a user's "user_prefs" file.
129
130 auto_whitelist_factory module (default:
131 Mail::SpamAssassin::DBBasedAddrList)
132 Select alternative whitelist factory module.
133
134 auto_whitelist_path /path/filename (default:
135 ~/.spamassassin/auto-whitelist)
136 This is the automatic-whitelist directory and filename. By
137 default, each user has their own whitelist database in their
138 "~/.spamassassin" directory with mode 0700. For system-wide
139 SpamAssassin use, you may want to share this across all users,
140 although that is not recommended.
141
142 auto_whitelist_db_modules Module ... (default: see below)
143 What database modules should be used for the auto-whitelist storage
144 database file. The first named module that can be loaded from the
145 perl include path will be used. The format is:
146
147 PreferredModuleName SecondBest ThirdBest ...
148
149 ie. a space-separated list of perl module names. The default is:
150
151 DB_File GDBM_File SDBM_File
152
153 NDBM_File is no longer supported, since it appears to have bugs
154 that preclude its use for the AWL (see SpamAssassin bug 4353).
155
156 auto_whitelist_file_mode (default: 0700)
157 The file mode bits used for the automatic-whitelist directory or
158 file.
159
160 Make sure you specify this using the 'x' mode bits set, as it may
161 also be used to create directories. However, if a file is created,
162 the resulting file will not have any execute bits set (the umask is
163 set to 0111).
164
165 user_awl_dsn DBI:databasetype:databasename:hostname:port
166 Used by the SQLBasedAddrList storage implementation.
167
168 This will set the DSN used to connect. Example:
169 "DBI:mysql:spamassassin:localhost"
170
171 user_awl_sql_username username
172 Used by the SQLBasedAddrList storage implementation.
173
174 The authorized username to connect to the above DSN.
175
176 user_awl_sql_password password
177 Used by the SQLBasedAddrList storage implementation.
178
179 The password for the database username, for the above DSN.
180
181 user_awl_sql_table tablename
182 Used by the SQLBasedAddrList storage implementation.
183
184 The table user auto-whitelists are stored in, for the above DSN.
185
186
187
188perl v5.26.3 2018-09-14Mail::SpamAssassin::Plugin::AWL(3)