DMARC: send forensic reports for reject & quarantine results, and "none" policy....
[exim.git] / test / scripts / 0000-Basic / 0427
CommitLineData
59371ea7
PH
1# Sieve tests using -bf
2rmfiltertest
3catwrite test-data
4# Sieve filter
5if address ["From","To"] "marian@abcdefgh.example"
6 { discard; }
7****
8exim -bf test-data <aux-fixed/TESTNUM.message
9****
10catwrite test-data
11# Sieve filter
12if address :is "From" "marian@abcdefgh.example"
13 { discard; }
14****
15exim -bf test-data <aux-fixed/TESTNUM.message
16****
17catwrite test-data
18# Sieve filter
19if address :is "To" "marian@abcdefgh.example"
20 { discard; }
21****
22exim -bf test-data <aux-fixed/TESTNUM.message
23****
24catwrite test-data
25# Sieve filter
26if address :contains "To" "abcdefgh"
27 { discard; }
28****
29exim -bf test-data <aux-fixed/TESTNUM.message
30****
31catwrite test-data
32# Sieve filter
33if address :matches "To" "*abc?efgh*"
34 { discard; }
35****
36exim -bf test-data <aux-fixed/TESTNUM.message
37****
38catwrite test-data
39# Sieve filter
40if true { discard; }
41****
42exim -bf test-data <aux-fixed/TESTNUM.message
43****
44catwrite test-data
45# Sieve filter
46if false { discard; }
47****
48exim -bf test-data <aux-fixed/TESTNUM.message
49****
50catwrite test-data
51# Sieve filter
52if allof (false,false) { discard; }
53****
54exim -bf test-data <aux-fixed/TESTNUM.message
55****
56catwrite test-data
57# Sieve filter
58if allof (true,false) { discard; }
59****
60exim -bf test-data <aux-fixed/TESTNUM.message
61****
62catwrite test-data
63# Sieve filter
64if allof (false,true) { discard; }
65****
66exim -bf test-data <aux-fixed/TESTNUM.message
67****
68catwrite test-data
69# Sieve filter
70if allof (true,true) { discard; }
71****
72exim -bf test-data <aux-fixed/TESTNUM.message
73****
74catwrite test-data
75# Sieve filter
76if anyof (false,false) { discard; }
77****
78exim -bf test-data <aux-fixed/TESTNUM.message
79****
80catwrite test-data
81# Sieve filter
82if anyof (true,false) { discard; }
83****
84exim -bf test-data <aux-fixed/TESTNUM.message
85****
86catwrite test-data
87# Sieve filter
88if anyof (false,true) { discard; }
89****
90exim -bf test-data <aux-fixed/TESTNUM.message
91****
92catwrite test-data
93# Sieve filter
94if anyof (true,true) { discard; }
95****
96exim -bf test-data <aux-fixed/TESTNUM.message
97****
98catwrite test-data
99# Sieve filter
100if not anyof (false,false) { discard; }
101****
102exim -bf test-data <aux-fixed/TESTNUM.message
103****
104catwrite test-data
105# Sieve filter
106if not anyof (true,false) { discard; }
107****
108exim -bf test-data <aux-fixed/TESTNUM.message
109****
110catwrite test-data
111# Sieve filter
112if not anyof (false,true) { discard; }
113****
114exim -bf test-data <aux-fixed/TESTNUM.message
115****
116catwrite test-data
117# Sieve filter
118if not anyof (true,true) { discard; }
119****
120exim -bf test-data <aux-fixed/TESTNUM.message
121****
122catwrite test-data
123# Sieve filter
124if header "to" "MARIAN@abcdefgh.example" { discard; }
125****
126exim -bf test-data <aux-fixed/TESTNUM.message
127****
128catwrite test-data
129# Sieve filter
130if header :comparator "i;octet" "to" "MARIAN@abcdefgh.example" { discard; }
131****
132exim -bf test-data <aux-fixed/TESTNUM.message
133****
134catwrite test-data
135# Sieve filter
136if header :comparator "i;ascii-casemap" "to" "MARIAN@abcdefgh.example" { discard; }
137****
138exim -bf test-data <aux-fixed/TESTNUM.message
139****
140catwrite test-data
141# Sieve filter
142require "envelope";
143if envelope "from" "marian@somenet.example" { discard; }
144****
145exim -bf test-data <aux-fixed/TESTNUM.message
146****
147catwrite test-data
148# Sieve filter
149require "envelope";
150if envelope "from" "offerqn@bpk.example.com" { discard; }
151****
152exim -bf test-data <aux-fixed/TESTNUM.message
153****
154catwrite test-data
155# Sieve filter
156if exists [ "X-NotHere", "X-Notheretoo" ] { discard; }
157****
158exim -bf test-data <aux-fixed/TESTNUM.message
159****
160catwrite test-data
161# Sieve filter
162if exists [ "X-NotHere", "Delivered-To" ] { discard; }
163****
164exim -bf test-data <aux-fixed/TESTNUM.message
165****
166catwrite test-data
167# Sieve filter
168if exists [ "From", "Delivered-To" ] { discard; }
169****
170exim -bf test-data <aux-fixed/TESTNUM.message
171****
172catwrite test-data
173# Sieve filter
174if header :contains "X-NotHere" "" { discard; }
175****
176exim -bf test-data <aux-fixed/TESTNUM.message
177****
178catwrite test-data
179# Sieve filter
180if header "Delivered-To" "" { discard; }
181****
182exim -bf test-data <aux-fixed/TESTNUM.message
183****
184catwrite test-data
185# Sieve filter
186if header :contains "Delivered-To" "" { discard; }
187****
188exim -bf test-data <aux-fixed/TESTNUM.message
189****
190catwrite test-data
191# Sieve filter
192if header :contains "Delivered-To" "rc@irc.somenet.example" { discard; }
193****
194exim -bf test-data <aux-fixed/TESTNUM.message
195****
196catwrite test-data
197# Sieve filter
198if header "Delivered-To" ["irc@irc.somenet.example"] { discard; }
199****
200exim -bf test-data <aux-fixed/TESTNUM.message
201****
202catwrite test-data
203# Sieve filter
204if header "Delivered-To" ["irc@irc.somenet.example","irc@01019somenet.example","some.one"] { discard; }
205****
206exim -bf test-data <aux-fixed/TESTNUM.message
207****
208catwrite test-data
209# Sieve filter
210if header "Mime-Version" "1.0" { discard; }
211****
212exim -bf test-data <aux-fixed/TESTNUM.message
213****
214catwrite test-data
215# Sieve filter
216if false { discard; }
217****
218exim -bf test-data <aux-fixed/TESTNUM.message
219****
220catwrite test-data
221# Sieve filter
222if true { discard; }
223****
224exim -bf test-data <aux-fixed/TESTNUM.message
225****
226catwrite test-data
227# Sieve filter
228if true { discard; } else { keep; }
229****
230exim -bf test-data <aux-fixed/TESTNUM.message
231****
232catwrite test-data
233# Sieve filter
234if false { keep; } else { discard; }
235****
236exim -bf test-data <aux-fixed/TESTNUM.message
237****
238catwrite test-data
239# Sieve filter
240if false { keep; } elsif true { discard; } else { keep; }
241****
242exim -bf test-data <aux-fixed/TESTNUM.message
243****
244catwrite test-data
245# Sieve filter
246if true { discard; } elsif true { keep; } else { keep; }
247****
248exim -bf test-data <aux-fixed/TESTNUM.message
249****
250catwrite test-data
251# Sieve filter
252if false { keep; }
253 else
254 { if true { discard; } else { keep; } }
255****
256exim -bf test-data <aux-fixed/TESTNUM.message
257****
258catwrite test-data
259# Sieve filter
260if header :matches "to" "MA*AN@abc*fg?.example" { discard; }
261****
262exim -bf test-data <aux-fixed/TESTNUM.message
263****
264catwrite test-data
265# Sieve filter
266if not header :matches "to" "MA?AN@abc*fg?.example" { discard; }
267****
268exim -bf test-data <aux-fixed/TESTNUM.message
269****
270catwrite test-data
271# Sieve filter
272if header :matches "to" "*marian@abcdefgh.example" { discard; }
273****
274exim -bf test-data <aux-fixed/TESTNUM.message
275****
276catwrite test-data
277# Sieve filter
278if not header :matches "to" "?marian@abcdefgh.example" { discard; }
279****
280exim -bf test-data <aux-fixed/TESTNUM.message
281****
282catwrite test-data
283# Sieve filter
284if header :matches "to" "marian@abcdefgh.example*" { discard; }
285****
286exim -bf test-data <aux-fixed/TESTNUM.message
287****
288catwrite test-data
289# Sieve filter
290if not header :matches "to" "marian@abcdefgh.example?" { discard; }
291****
292exim -bf test-data <aux-fixed/TESTNUM.message
293****
294catwrite test-data
295# Sieve filter
296if header :matches "x-special1" "\\?*\\*" { discard; }
297****
298exim -bf test-data <aux-fixed/TESTNUM.message
299****
300catwrite test-data
301# Sieve filter
302if header :matches "x-special1" "*\0*" { discard; }
303****
304exim -bf test-data <aux-fixed/TESTNUM.message
305****
306catwrite test-data
307# Sieve filter
308if not header :matches "x-special1" "*\0*q" { discard; }
309****
310exim -bf test-data <aux-fixed/TESTNUM.message
9befc136
TF
311****
312catwrite test-data
313# Sieve filter
314require "encoded-character";
315if not header :matches "x-special1" "*${hex:00}*" { discard; }
316****
317exim -bf test-data <aux-fixed/TESTNUM.message
59371ea7
PH
318****
319catwrite test-data
320# Sieve filter
321if not header :matches "x-special2" "\\?*\\*" { discard; }
322****
323exim -bf test-data <aux-fixed/TESTNUM.message
324****
325catwrite test-data
326# Sieve filter
327if not header :matches "x-special2" "*\0*" { discard; }
328****
329exim -bf test-data <aux-fixed/TESTNUM.message
330****
331catwrite test-data
332# Sieve filter
333if size :over 400 {
334 discard;
335 }
336****
337exim -bf test-data <aux-fixed/TESTNUM.message
338****
339catwrite test-data
340# Sieve filter
341if size :over 4K {
342 discard;
343 }
344****
345exim -bf test-data <aux-fixed/TESTNUM.message
346****
347catwrite test-data
348# Sieve filter
349if size :under 4K { discard; }
350****
351exim -bf test-data <aux-fixed/TESTNUM.message
352****
353catwrite test-data
354# Sieve filter
355if size :under 400 { discard; }
356****
357exim -bf test-data <aux-fixed/TESTNUM.message
358****
359catwrite test-data
360# Sieve filter
361if false { keep; }
362****
363exim -bf test-data <aux-fixed/TESTNUM.message
364****
365# Syntax checks
366catwrite test-data
367# no filter line here
368if unknowntest { keep; }
369****
3701
371exim -bf test-data <aux-fixed/TESTNUM.message
372****
373catwrite test-data
374# Sieve filter
375if test keep; }
376****
377exim -bf test-data <aux-fixed/TESTNUM.message
378****
379catwrite test-data
380# Sieve filter
381if test { keep;
382****
383exim -bf test-data <aux-fixed/TESTNUM.message
384****
385catwrite test-data
386# Sieve filter
387if true { unknownaction; }
388****
389exim -bf test-data <aux-fixed/TESTNUM.message
390****
391catwrite test-data
392# Sieve filter
393if true { fileinto abcdefgh; }
394****
395exim -bf test-data <aux-fixed/TESTNUM.message
396****
397catwrite test-data
398# Sieve filter
399require "fileinto";
400if true { fileinto "abcdefgh"; }
401****
402exim -bf test-data <aux-fixed/TESTNUM.message
403****
404catwrite test-data
405# Sieve filter
406if header ["to"] [ "marian@abcdefgh.example", "achnee"] { discard; }
407****
408exim -bf test-data <aux-fixed/TESTNUM.message
409****
410catwrite test-data
411# Sieve filter
412if header "to" [ "egal", "achnee" { keep; }
413****
414exim -bf test-data <aux-fixed/TESTNUM.message
415****
416catwrite test-data
417# Sieve filter
418if header "to","from"] "egal" { keep; }
419****
420exim -bf test-data <aux-fixed/TESTNUM.message
421****
422catwrite test-data
423# Sieve filter
424if header ["to","from" "egal" { keep; }
425****
426exim -bf test-data <aux-fixed/TESTNUM.message
427****
428catwrite test-data
429# Sieve filter
430if header ["to",,"from"] "egal" { keep; }
431****
432exim -bf test-data <aux-fixed/TESTNUM.message
433****
434catwrite test-data
435# Sieve filter
436if header ["to",] "egal" { keep; }
437****
438exim -bf test-data <aux-fixed/TESTNUM.message
439****
440catwrite test-data
441# Sieve filter
442if header [,"to"] "egal" { keep; }
443****
444exim -bf test-data <aux-fixed/TESTNUM.message
445****
446catwrite test-data
447# Sieve filter
448if unknowntest { keep; }
449****
450exim -bf test-data <aux-fixed/TESTNUM.message
451****
452catwrite test-data
453# Sieve filter
454if header :matches "to" "egal" { keep; }
455****
456exim -bf test-data <aux-fixed/TESTNUM.message
457****
458catwrite test-data
459# Sieve filter
460if header :unknown "to" "egal" { keep; }
461****
462exim -bf test-data <aux-fixed/TESTNUM.message
463****
464catwrite test-data
465# Sieve filter
466#
467require ["fileinto", "envelope"];
468
469if header :matches "X-Warning" "* is listed at list.dsbl.org*"
470 {
471 keep; # keep in "In" folder
472 }
473****
474exim -bf test-data <aux-fixed/TESTNUM.message2
475****
476catwrite test-data
477# Sieve filter
478if header "x-1" "1" { discard; }
479****
480exim -bf test-data <aux-fixed/TESTNUM.message3
481****
482catwrite test-data
483# Sieve filter
484if not header "x-1" "=?ISO-8859-1?Q?=31?=" { discard; }
485****
486exim -bf test-data <aux-fixed/TESTNUM.message3
487****
488catwrite test-data
489# Sieve filter
490if header "x-1b" "=?ISO-8859-1?Q?=31=" { discard; }
491****
492exim -bf test-data <aux-fixed/TESTNUM.message3
493****
494catwrite test-data
495# Sieve filter
496if header "x-b64" "This is BASE64" { discard; }
497****
498exim -bf test-data <aux-fixed/TESTNUM.message3
499****
500catwrite test-data
501# Sieve filter
502if header "x-b64-broken" "=?iso-8859-1?b?VGhpcyBpcyBCQVNFNjQ?=" { discard; }
503****
504exim -bf test-data <aux-fixed/TESTNUM.message3
505****
506catwrite test-data
507# Sieve filter
508if header "x-q75total" "0123456789012345678901234567890123456789012345678901234567" { discard; }
509****
510exim -bf test-data <aux-fixed/TESTNUM.message3
511****
512catwrite test-data
513# Sieve filter
514if header "x-q76total" "=?ISO-8859-1?Q?01234567890123456789012345678901234567890123456789012345678?=" { discard; }
515****
516exim -bf test-data <aux-fixed/TESTNUM.message3
517****
518catwrite test-data
519# Sieve filter
50c99ba6 520if header "X-Wrapped" "eins zwei drei" { discard; }
59371ea7
PH
521****
522exim -bf test-data <aux-fixed/TESTNUM.message3
523****
524catwrite test-data
525# Sieve filter
50c99ba6 526if header "x-nomimewrap" "=?iso-8859-1?q?abc def ghi?=" { discard; }
59371ea7
PH
527****
528exim -bf test-data <aux-fixed/TESTNUM.message3
529****
530catwrite test-data
531# Sieve filter
532if header "subject" "abcdefghi" { discard; }
533****
534exim -bf test-data <aux-fixed/TESTNUM.message3
535****
536catwrite test-data
537# Sieve filter
538if header "x-mixed" "abc def" { discard; }
539****
540exim -bf test-data <aux-fixed/TESTNUM.message3
541****
542catwrite test-data
543#Sieve filter
544if true { stop; fileinto "inbox.never"; }
545****
546exim -bf test-data <aux-fixed/TESTNUM.message3
547****