File: 60_welcomelist.cf

package info (click to toggle)
spamassassin 4.0.2-4
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 25,732 kB
  • sloc: perl: 89,143; ansic: 5,193; sh: 3,737; javascript: 339; sql: 295; makefile: 209; python: 49
file content (263 lines) | stat: -rw-r--r-- 11,611 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
# SpamAssassin rules file: default welcomelists
#
# Please don't modify this file as your changes will be overwritten with
# the next update. Use @@LOCAL_RULES_DIR@@/local.cf instead.
# See 'perldoc Mail::SpamAssassin::Conf' for details.
#
# <@LICENSE>
# Licensed to the Apache Software Foundation (ASF) under one or more
# contributor license agreements.  See the NOTICE file distributed with
# this work for additional information regarding copyright ownership.
# The ASF licenses this file to you under the Apache License, Version 2.0
# (the "License"); you may not use this file except in compliance with
# the License.  You may obtain a copy of the License at:
#
#     http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# </@LICENSE>

ifplugin Mail::SpamAssassin::Plugin::WLBLEval

###########################################################################
# Welcomelist rules
#
# Note that most of these get 'noautolearn'.  They should not be
# considered when deciding whether to auto-learn a message, as a
# user slip-up could result in scribbling side-effects in the bayes
# db as a result -- which is hard to remedy.

# 4.0 / Bug 7826 renames whitelist to welcomelist and blacklist to blocklist
if can(Mail::SpamAssassin::Conf::feature_welcomelist_blocklist)
  header USER_IN_BLOCKLIST		eval:check_from_in_blocklist()
  describe USER_IN_BLOCKLIST		From: user is listed in the block-list
  tflags USER_IN_BLOCKLIST		userconf noautolearn
  score USER_IN_BLOCKLIST		100

  # Backwards compatibility
  # To disable set "enable_compat welcomelist_blocklist" in init.pre
  if !can(Mail::SpamAssassin::Conf::compat_welcomelist_blocklist)
    meta USER_IN_BLACKLIST		(USER_IN_BLOCKLIST)
    describe USER_IN_BLACKLIST		DEPRECATED: See USER_IN_BLOCKLIST
    tflags USER_IN_BLACKLIST		userconf noautolearn
    score USER_IN_BLACKLIST		100
    score USER_IN_BLOCKLIST		0.01
  endif
endif
if !can(Mail::SpamAssassin::Conf::feature_welcomelist_blocklist)
  header USER_IN_BLOCKLIST	 	eval:check_from_in_blacklist()
  describe USER_IN_BLOCKLIST	 	From: user is listed in the block-list
  tflags USER_IN_BLOCKLIST	 	userconf noautolearn
  score USER_IN_BLOCKLIST	 	0.01

  meta USER_IN_BLACKLIST		(USER_IN_BLOCKLIST)
  describe USER_IN_BLACKLIST		DEPRECATED: See USER_IN_BLOCKLIST 
  tflags USER_IN_BLACKLIST		userconf noautolearn
  score USER_IN_BLACKLIST		100
endif

if can(Mail::SpamAssassin::Conf::feature_welcomelist_blocklist)
  header USER_IN_WELCOMELIST		eval:check_from_in_welcomelist()
  describe USER_IN_WELCOMELIST		User is listed in 'welcomelist_from'
  tflags USER_IN_WELCOMELIST		userconf nice noautolearn
  score USER_IN_WELCOMELIST		-100
    
  if !can(Mail::SpamAssassin::Conf::compat_welcomelist_blocklist)
    meta USER_IN_WHITELIST		(USER_IN_WELCOMELIST)
    describe USER_IN_WHITELIST		DEPRECATED: See USER_IN_WELCOMELIST
    tflags USER_IN_WHITELIST		userconf nice noautolearn
    score USER_IN_WHITELIST		-100
    score USER_IN_WELCOMELIST		-0.01
  endif
endif
if !can(Mail::SpamAssassin::Conf::feature_welcomelist_blocklist)
  header USER_IN_WELCOMELIST	 	eval:check_from_in_whitelist()
  describe USER_IN_WELCOMELIST		User is listed in 'welcomelist_from'
  tflags USER_IN_WELCOMELIST	 	userconf nice noautolearn
  score USER_IN_WELCOMELIST	 	-0.01
  
  meta USER_IN_WHITELIST		(USER_IN_WELCOMELIST)
  describe USER_IN_WHITELIST     	DEPRECATED: See USER_IN_WELCOMELIST 
  tflags USER_IN_WHITELIST       	userconf nice noautolearn
  score USER_IN_WHITELIST		-100
endif

if can(Mail::SpamAssassin::Conf::feature_welcomelist_blocklist)
  header USER_IN_DEF_WELCOMELIST	eval:check_from_in_default_welcomelist()
  describe USER_IN_DEF_WELCOMELIST	From: user is listed in the default welcome-list
  tflags USER_IN_DEF_WELCOMELIST	userconf nice noautolearn
  score USER_IN_DEF_WELCOMELIST		-15
  
  if !can(Mail::SpamAssassin::Conf::compat_welcomelist_blocklist)
    meta USER_IN_DEF_WHITELIST		(USER_IN_DEF_WELCOMELIST)
    describe USER_IN_DEF_WHITELIST	DEPRECATED: See USER_IN_WELCOMELIST 
    tflags USER_IN_DEF_WHITELIST	userconf nice noautolearn
    score USER_IN_DEF_WHITELIST		-15
    score USER_IN_DEF_WELCOMELIST	-0.01
  endif
endif
if !can(Mail::SpamAssassin::Conf::feature_welcomelist_blocklist)
  header USER_IN_DEF_WELCOMELIST	eval:check_from_in_default_whitelist()
  describe USER_IN_DEF_WELCOMELIST	From: user is listed in the default welcome-list
  tflags USER_IN_DEF_WELCOMELIST	userconf nice noautolearn
  score USER_IN_DEF_WELCOMELIST		-0.01
  
  meta USER_IN_DEF_WHITELIST		(USER_IN_DEF_WELCOMELIST)
  describe USER_IN_DEF_WHITELIST     	DEPRECATED: See USER_IN_DEF_WELCOMELIST 
  tflags USER_IN_DEF_WHITELIST       	userconf nice noautolearn
  score USER_IN_DEF_WHITELIST		-15
endif
  
if can(Mail::SpamAssassin::Conf::feature_welcomelist_blocklist)
  header USER_IN_BLOCKLIST_TO		eval:check_to_in_blocklist()
  describe USER_IN_BLOCKLIST_TO       	User is listed in 'blocklist_to'
  tflags USER_IN_BLOCKLIST_TO		userconf noautolearn
  score USER_IN_BLOCKLIST_TO	     	10

  if !can(Mail::SpamAssassin::Conf::compat_welcomelist_blocklist)
    meta USER_IN_BLACKLIST_TO		(USER_IN_BLOCKLIST_TO)
    describe USER_IN_BLACKLIST_TO	DEPRECATED: See USER_IN_BLOCKLIST_TO
    tflags USER_IN_BLACKLIST_TO		userconf noautolearn
    score USER_IN_BLACKLIST_TO		10
    score USER_IN_BLOCKLIST_TO		0.01
  endif
endif
if !can(Mail::SpamAssassin::Conf::feature_welcomelist_blocklist)
  header USER_IN_BLOCKLIST_TO	 	eval:check_to_in_blacklist()
  describe USER_IN_BLOCKLIST_TO		User is listed in 'blocklist_to'
  tflags USER_IN_BLOCKLIST_TO	 	userconf noautolearn
  score USER_IN_BLOCKLIST_TO	 	0.01

  meta USER_IN_BLACKLIST_TO		(USER_IN_BLOCKLIST_TO)
  describe USER_IN_BLACKLIST_TO     	DEPRECATED: See USER_IN_BLOCKLIST_TO
  tflags USER_IN_BLACKLIST_TO       	userconf noautolearn
  score USER_IN_BLACKLIST_TO		10
endif

if can(Mail::SpamAssassin::Conf::feature_welcomelist_blocklist)
  header USER_IN_WELCOMELIST_TO		eval:check_to_in_welcomelist()
  describe USER_IN_WELCOMELIST_TO	User is listed in 'welcomelist_to'
  tflags USER_IN_WELCOMELIST_TO		userconf nice noautolearn
  score USER_IN_WELCOMELIST_TO		-6

  if !can(Mail::SpamAssassin::Conf::compat_welcomelist_blocklist)
    meta USER_IN_WHITELIST_TO		(USER_IN_WELCOMELIST_TO)
    describe USER_IN_WHITELIST_TO	DEPRECATED: See USER_IN_WELCOMELIST_TO
    tflags USER_IN_WHITELIST_TO		userconf nice noautolearn
    score USER_IN_WHITELIST_TO		-6
    score USER_IN_WELCOMELIST_TO	-0.01
  endif
endif
if !can(Mail::SpamAssassin::Conf::feature_welcomelist_blocklist)
  header USER_IN_WELCOMELIST_TO		eval:check_to_in_whitelist()
  describe USER_IN_WELCOMELIST_TO	User is listed in 'welcomelist_to'
  tflags USER_IN_WELCOMELIST_TO		userconf nice noautolearn
  score USER_IN_WELCOMELIST_TO		-0.01

  meta USER_IN_WHITELIST_TO		(USER_IN_WELCOMELIST_TO)
  describe USER_IN_WHITELIST_TO		DEPRECATED: See USER_IN_WELCOMELIST_TO
  tflags USER_IN_WHITELIST_TO		userconf nice noautolearn
  score USER_IN_WHITELIST_TO		-6
endif

header USER_IN_MORE_SPAM_TO     eval:check_to_in_more_spam()
describe USER_IN_MORE_SPAM_TO   User is listed in 'more_spam_to'
tflags USER_IN_MORE_SPAM_TO     userconf noautolearn

header USER_IN_ALL_SPAM_TO      eval:check_to_in_all_spam()
describe USER_IN_ALL_SPAM_TO    User is listed in 'all_spam_to'
tflags USER_IN_ALL_SPAM_TO      userconf noautolearn

if can(Mail::SpamAssassin::Conf::feature_welcomelist_blocklist)
  body URI_HOST_IN_BLOCKLIST		eval:check_uri_host_in_blocklist()
  describe URI_HOST_IN_BLOCKLIST	Host or Domain is listed in the user's URI block-list
  tflags URI_HOST_IN_BLOCKLIST		userconf noautolearn
  score URI_HOST_IN_BLOCKLIST		100

  if !can(Mail::SpamAssassin::Conf::compat_welcomelist_blocklist)
    meta URI_HOST_IN_BLACKLIST		(URI_HOST_IN_BLOCKLIST)
    describe URI_HOST_IN_BLACKLIST	DEPRECATED: See URI_HOST_IN_BLOCKLIST
    tflags URI_HOST_IN_BLACKLIST	userconf noautolearn
    score URI_HOST_IN_BLACKLIST		100
    score URI_HOST_IN_BLOCKLIST		0.01
  endif
endif
if !can(Mail::SpamAssassin::Conf::feature_welcomelist_blocklist)
  if (version >= 3.004000)
    body URI_HOST_IN_BLOCKLIST		eval:check_uri_host_in_blacklist()
    describe URI_HOST_IN_BLOCKLIST	Host or Domain is listed in the user's URI block-list
    tflags URI_HOST_IN_BLOCKLIST	userconf noautolearn
    score URI_HOST_IN_BLOCKLIST		0.01
  
    meta URI_HOST_IN_BLACKLIST		(URI_HOST_IN_BLOCKLIST)
    describe URI_HOST_IN_BLACKLIST	DEPRECATED: See URI_HOST_IN_BLOCKLIST
    tflags URI_HOST_IN_BLACKLIST	userconf noautolearn
    score URI_HOST_IN_BLACKLIST		100
  endif
endif

if can(Mail::SpamAssassin::Conf::feature_welcomelist_blocklist)
  body URI_HOST_IN_WELCOMELIST	eval:check_uri_host_in_welcomelist()
  describe URI_HOST_IN_WELCOMELIST	Host or Domain is listed in the user's URI welcome-list
  tflags URI_HOST_IN_WELCOMELIST	userconf nice noautolearn
  score URI_HOST_IN_WELCOMELIST		-100

  if !can(Mail::SpamAssassin::Conf::compat_welcomelist_blocklist)
    meta URI_HOST_IN_WHITELIST		(URI_HOST_IN_WELCOMELIST)
    describe URI_HOST_IN_WHITELIST	DEPRECATED: See URI_HOST_IN_WELCOMELIST
    tflags URI_HOST_IN_WHITELIST	userconf nice noautolearn
    score URI_HOST_IN_WHITELIST		-100
    score URI_HOST_IN_WELCOMELIST	-0.01
  endif
endif
if !can(Mail::SpamAssassin::Conf::feature_welcomelist_blocklist)
  if (version >= 3.004000)
    body URI_HOST_IN_WELCOMELIST	eval:check_uri_host_in_whitelist()
    describe URI_HOST_IN_WELCOMELIST	Host or Domain is listed in the user's URI welcome-list
    tflags URI_HOST_IN_WELCOMELIST	userconf nice noautolearn
    score URI_HOST_IN_WELCOMELIST	-0.01

    meta URI_HOST_IN_WHITELIST		(URI_HOST_IN_WELCOMELIST)
    describe URI_HOST_IN_WHITELIST	DEPRECATED: See URI_HOST_IN_WELCOMELIST
    tflags URI_HOST_IN_WHITELIST	userconf nice noautolearn
    score URI_HOST_IN_WHITELIST		-100
  endif
endif

      # Bug 7256, using a header rule with an eval() function does not work the way
      # this was intended.

      # header    HEADER_HOST_IN_BLACKLIST eval:check_uri_host_listed('BLOCK')
      # describe  HEADER_HOST_IN_BLACKLIST Host or Domain in header is listed in the user's URI black-list
      # tflags    HEADER_HOST_IN_BLACKLIST userconf noautolearn

      # header    HEADER_HOST_IN_WHITELIST eval:check_uri_host_listed('WELCOME')
      # describe  HEADER_HOST_IN_WHITELIST Host or Domain in header is listed in the user's URI white-list
      # tflags    HEADER_HOST_IN_WHITELIST userconf nice noautolearn

###########################################################################
# Default welcomelists.  These should be addresses which send mail that is often
# tagged (incorrectly) as spam; it also helps that they be addresses of big
# companies with lots of lawyers, so if spammers impersonate them, they'll get
# into big trouble, so it doesn't provide a shortcut around SpamAssassin.
#
# Welcomelist and blocklist addresses are now file-glob-style patterns, so
# "friend@somewhere.com", "*@isp.com", or "*.domain.net" will all work.
#
# Please do not add unmoderated public mailing lists here.  They are
# too easily abused by spammers.

# Should really not be used these days, use def_welcomelist_auth if possible.

  # def_welcomelist_from_rcvd  *@foo.com  foo.com

#
#
#

endif # ifplugin Mail::SpamAssassin::Plugin::WLBLEval