summaryrefslogtreecommitdiffstats
path: root/pigeonhole/examples/relational.rfc5231.sieve
blob: 81c66d379095738e3ef84cec71eb28c45a5f7ee9 (plain)
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
require ["relational", "comparator-i;ascii-numeric", "fileinto"];

if header :value "lt" :comparator "i;ascii-numeric"
	["x-priority"] ["3"]
{
	fileinto "Priority";
}

elsif address :count "gt" :comparator "i;ascii-numeric"
	["to"] ["5"]
{
	# everything with more than 5 recipients in the "to" field
	# is considered SPAM
	fileinto "SPAM";
}

elsif address :value "gt" :all :comparator "i;ascii-casemap"
	["from"] ["M"]
{
	fileinto "From N-Z";
} else {
	fileinto "From A-M";
}

if allof ( 
	address :count "eq" :comparator "i;ascii-numeric"
		["to", "cc"] ["1"] ,
	address :all :comparator "i;ascii-casemap"
		["to", "cc"] ["me@foo.example.com"] )
{
	fileinto "Only me";
}