1# junkfilter
2# a junk email filter system for procmail
3# Copyright 1997-2002 Gregory Sutter <gsutter@zer0.org>
4#
5# $Id: junkfilter.two,v 2.16 2002/04/21 03:20:37 gsutter Exp $
6#
7# Please read the file "README" and the page
8# http://junkfilter.zer0.org/ before using junkfilter.
9
10# Section Two, reasonable spam-catching recipies
11
12JFSEC=2
13
14# Invalid X-UIDL header, contains non-displayable characters.
15# This rule is pretty lame.
16:0
17* ^X-UIDL:
18* $ !^X-UIDL:[ 	]*${JFPCHAR}+[ 	]*$
19{ JFMATCH="$JFSEC: Invalid X-UIDL" INCLUDERC=$JFDIR/junkfilter.match }
20
21# New bad-AOL filter.
22:0
23* $ ^From:\/(.*[^-(.%@a-zA-Z0-9])?[^@<>,        ]+@aol\.com\>
24* $ ! ^From:(.*[^-(.%@a-zA-Z0-9])?([^a-z]|.+[^0-9a-z]|............).*@aol\.com\>
25{ JFMATCH="$JFSEC: Forged AOL account: $MATCH" INCLUDERC=$JFDIR/junkfilter.match }
26
27# Hotmail mails all have this header
28# note, I'm assuming you're not reading this mail at hotmail.com :)
29# commented out 20020308 for lots of false matches.  can it be fixed?
30#:0
31#* $ $JFFROM.*hotmail.com
32#* $ ! ^X-Originating-IP:$JFWS\[$JFIPNUM\.$JFIPNUM\.$JFIPNUM\.$JFIPNUM\]
33#{ JFMATCH="$JFSEC: Forged hotmail.com address" INCLUDERC=$JFDIR/junkfilter.match }
34
35# Checks date.  Because -0600 is either CST, MDT, or water, NOTHING should
36# ever have a time-zone of "-0600 (EST)".
37:0
38* ()\/^(Date|Received):.* -0600 \(EST\)
39{ JFMATCH="$JFSEC: Invalid datestamp: $MATCH" INCLUDERC=$JFDIR/junkfilter.match }
40
41# Empty headers don't belong.
42:0
43* ^\/(From|To|Reply-To):[ 	]*("")?[ 	]*[<>]*[ 	]*$
44{ JFMATCH="$JFSEC: Empty header: $MATCH" INCLUDERC=$JFDIR/junkfilter.match }
45
46JFSEC
47
48# EOF junkfilter.two
49