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
|
# Example Sieve Script
# Author: Matthew Elvey (Slightly modified to remove syntax and context errors)
# URL: http://www.elvey.com/it/sieve/SieveScript.txt
# Initial version completed and put in place 4/1/02 by Matthew Elvey (firstname@lastname.com ; I've checked and it's not a valid address.); Copyright (C).and.current as of 5/19/2002
#Change log:
#+ spam[:high]; major reordering; +DFC,BugTraq, PB up +Economist, FolderPath corrections
#+ redid .0 matches. +Korean + whitelist +@f(useful once I start bouncing mail!)
#+open mag, simplifications, to fm=spamNOTwhite, Bulk changes, IETF rules, +lst
#Reword spam bounce.+scalable@ re-correction+++Work+activate Spam Optimization, etc...
#oops high = 2x threshold, so 2x1 is 2! Too low. To @fm:bounce. Added tons of comments.
require ["fileinto", "reject", "vacation", "envelope", "regex"];
if header :contains "subject" ["un eject", "lastname.com/spamoff.htm agreed to"] { #I give out "uneject" to people to let them bypass the spam or size filters.
keep;
} elsif header :contains "subject" ["ADV:", "bounceme", "2002 Gov Grants", #bounceme is useful for testing.
"ADV:ADLT", "ADV-ADULT", "ADULT ADVERTISEMENT"] { #Subject text required by various US State laws
reject text:
Hello. The server content filter/spam detector I use has bounced your message. It appears to be spam.
I do not accept spam/UCE (Unsolicited Commercial Email).
Please ask me how to bypass this filter if your email is not UCE. In that case, I am sorry about this
highly unusual error. The filter is >99% accurate.
(This is an automated message; I will not be aware that your message did not get through if I do not hear from you again.)
-Firstname
(P.S. You may also override the filter if you accept the terms at http://www.lastname.com/spamoff.htm,
by including "lastname.com/spamoff.htm agreed to." in the subject.)
.
;
}
# LINE 30.
elsif size :over 10M { # (note that the four leading dots get "stuffed" to three)
reject text:
Message NOT delivered!
This system normally accepts email that is less than 10MB in size, because that is how I configured it.
You may want to put your file on a server and send me the URL.
Or, you may request override permission and/or unreject instructions via another (smaller) email.
Sorry for the inconvenience.
Thanks,
.... Firstname
(This is an automated message; I will not be aware that your message did not get through if I do not hear from you again.)
Unsolicited advertising sent to this E-Mail address is expressly prohibited
under USC Title 47, Section 227. Violators are subject to charge of up to
$1,500 per incident or treble actual costs, whichever is greater.
.
;
#LINE 47.
} elsif header :contains "From" "Firstname@lastname.com" { #if I send myself email, leave it in the Inbox.
keep; #next, is the processing for the various mailing lists I'm on.
} elsif header :contains ["Sender", "X-Sender", "Mailing-List", "Delivered-To", "List-Post", "Subject", "To", "Cc", "From", "Reply-to", "Received"] "burningman" {
fileinto "INBOX.DaBurn";
} elsif header :contains ["Subject", "From", "Received"] ["E*TRADE", "Datek", "TD Waterhouse", "NetBank"] {
fileinto "INBOX.finances.status";
} elsif header :contains "subject" "\[pacbell" {
fileinto "INBOX.pacbell.dslreports";
} elsif header :contains "From" ["owner-te-wg ", "te-wg ", "iana.org"] {
fileinto "INBOX.lst.IETF";
} elsif header :contains ["Mailing-List", "Subject", "From", "Received"] ["Red Hat", "Double Funk Crunch", "@economist.com", "Open Magazine", "@nytimes.com", "mottimorell", "Harrow Technology Report"] {
fileinto "INBOX.lst.interesting";
} elsif header :contains ["Mailing-List", "Subject", "From", "Received", "X-LinkName"] ["DJDragonfly", "Ebates", "Webmonkey", "DHJ8091@aol.com", "Expedia Fare Tracker", "SoulShine", "Martel and Nabiel", "\[ecc\]"] {
fileinto "INBOX.lst.lame";
} elsif header :contains ["Subject", "From", "To"] ["guru.com", "monster.com", "hotjobs", "dice.com", "linkify.com"] { #job boards and current clients.
fileinto "INBOX.lst.jobs";
} elsif header :contains "subject" "\[yaba" {
fileinto "INBOX.rec.yaba";
} elsif header :contains ["to", "cc"] "scalable@" {
fileinto "INBOX.lst.scalable";
} elsif header :contains ["Sender", "To", "Return-Path", "Received"] "NTBUGTRAQ@listserv.ntbugtraq.com" {
fileinto "INBOX.lst.bugtraq";
} elsif header :contains "subject" "Wired" {
fileinto "INBOX.lst.wired";
#LINE 72.
} elsif anyof (header :contains "From" ["postmaster", "daemon", "abuse"], header :contains "Subject" ["warning:", "returned mail", "failure notice", "undelivered mail"] ) {
keep; #this one is important - don't want to miss any bounce messages!
#LINE 77.
} elsif anyof (header :contains "From" ["and here I put a whitelist of pretty much all the email addresses in my address book - it's several pages..."]) {
fileinto "INBOX.white";
# better than keep;
# LINE 106.
} elsif anyof (address :all :is ["To", "CC", "BCC"] "Firstname.lastname@fastmail.fm", #a couple people send to this, but I have have all their addrs in whitelist so OK.
header :matches "X-Spam-score" ["9.?" , "10.?", "9", "10", "11.?", "12.?" ,"13.?", "14.?", "11", "12","13", "14", "15.?", "16.?", "17.?" ,"18.?", "19.?", "15", "16", "17" ,"18", "19", "2?.?", "2?", "3?.?" , "3?", "40"]) { #"5.?", "6.?", "5", "6" "7.?" , "8.?" , "7", "8"
reject text:
Hello. The server content filter/spam detector I use has bounced your message. It appears to be spam.
I do not accept spam/UCE (Unsolicited Commercial Email).
Please ask me how to bypass this filter if your email is not UCE. In that case, I am sorry about this
highly unusual error. The filter is >99% accurate.
(This is an automated message; I will not be aware that your message did not get through if I do not hear from you again.)
-Firstname
(P.S. You may also override the filter if you accept the terms at http://www.lastname.com/spamoff.htm,
by including "lastname.com/spamoff.htm agreed to." in the subject.)
.
;
#LINE 127.
} elsif
header :matches "X-Spam" ["spam", "high"] { if #optimization idea line 1/2
header :matches "X-Spam-score" ["5.?", "6.?", "5", "6"] {
fileinto "INBOX.Spam.5-7";
} elsif header :matches "X-Spam-score" ["7.?" , "8.?" , "7", "8"] {
fileinto "INBOX.Spam.7-9";
#} elsif header :matches "X-Spam-score" ["9.?" , "10.?" , "9", "10"] { #These lines obsoleted by reject text rule above, but others will find 'em useful!
# fileinto "INBOX.Spam.9-11";
#} elsif header :matches "X-Spam-score" ["11.?" , "12.?" ,"13.?" , "14.?", "11" , "12" ,"13" , "14"] {
# fileinto "INBOX.Spam.11-15";
#} elsif header :matches "X-Spam-score" ["15.?" , "16.?" ,"17.?" ,"18.?" , "19.?", "15" , "16" ,"17" ,"18" , "19"] {
# fileinto "INBOX.Spam.15-20";
#} elsif header :matches "X-Spam-score" ["2?.?", "2?" ] {
# fileinto "Inbox.Spam.20-30";
#} elsif header :matches "X-Spam-score" ["3?.?" , "3?", "40"] {
#fileinto "Inbox.Spam.30-40";
} #optimization idea line 2/2
#LINE 149.
} elsif header:contains ["Content-Type","Subject"] ["ks_c_5601-1987","euc_kr","euc-kr"]{
fileinto "Inbox.Spam.kr"; #block Korean; it's prolly spam and I certainly can't read it.
} elsif header :contains "Received" "yale.edu" {
fileinto "INBOX.Yale"; #if it made it past all the filters above, it's probably of interest.
} elsif anyof (header :contains "Subject" ["HR 1910", "viagra", "MLM", " "," " ], # common in spam. (prolly redundant to SpamAssassin.)
not exists ["From", "Date"], #RFC822 violations common in spam.
header :contains ["Sender", "X-Sender", "Mailing-List", "X-Apparently-From", "X-Version", "X-Sender-IP", "Received", "Return-Path", "Delivered-To", "List-Post", "Date", "Subject", "To", "Cc", "From", "Reply-to", "X-AntiAbuse", "Content-Type", "Received", "X-LinkName"] ["btamail.net.cn", "@arabia.com" ] ) { #spam havens.
fileinto "INBOX.GreyMail";
} elsif header :contains ["Precedence", "Priority", "X-Priority", "Mailing-List", "Subject", "From", "Received", "X-LinkName"] ["Bulk", "Newsletter"] {
fileinto "INBOX.Bulk Precedence";
} elsif header :contains ["to", "cc", "Received"] ["IT@lastname.com", "mail.freeservers.com"] {
fileinto "INBOX.lastname.IT";
} elsif header :contains ["To", "CC"] "Firstname@lastname.com" {
fileinto "INBOX.lastname.non-BCC";
}
#LINE 167.
#END OF SCRIPT. Implied 'keep' is part of the Sieve spec.
|