Docs: add info on router variable evaluation order
[users/heiko/exim.git] / test / confs / 0428
1 # Exim test configuration 0428
2
3 .include DIR/aux-var/std_conf_prefix
4
5
6 # ----- Main settings -----
7
8 primary_hostname = mail.test.ex
9 qualify_domain = test.ex
10 trusted_users = CALLER
11
12 # ----- Routers -----
13
14 begin routers
15
16 rb:
17   driver = accept
18   senders = :
19   transport = t2
20
21 r0:
22   driver = redirect
23   local_parts = redirected
24   allow_filter
25   user = CALLER
26   file_transport = t1
27   data = "#Sieve filter\n keep;"
28
29 r1:
30   driver = redirect
31   local_parts = ^restrict-
32   allow_filter
33   forbid_file
34   skip_syntax_errors
35   data = "#Sieve filter\n$h_filter:"
36   user = CALLER
37   file_transport = t1
38
39 r2_8:
40   driver = redirect
41   local_parts = userx8
42   allow_filter
43   data = #Sieve filter\n \
44         require["fileinto","comparator-i;ascii-numeric"]; \
45         if header :comparator "i;ascii-numeric" "X-Sieve" "99" { \
46           fileinto "inbox.JUNK"; \
47           stop; \
48         }
49   user = CALLER
50   file_transport = t1
51   reply_transport = t3
52
53 r2_9:
54   driver = redirect
55   local_parts = userx9
56   allow_filter
57   data = #Sieve filter\n \
58         require["fileinto","comparator-i;ascii-numeric"]; \
59         if header :comparator "i;ascii-numeric" "X-Sieve" "98" { \
60           fileinto "inbox.JUNK"; \
61           stop; \
62         }
63   user = CALLER
64   file_transport = t1
65   reply_transport = t3
66
67 r2_10:
68   driver = redirect
69   local_parts = userx10
70   allow_filter
71   data = #Sieve filter\n \
72          require["fileinto","comparator-i;ascii-numeric"]; \
73         if header :comparator "i;ascii-numeric" "X-Sieve" "99" { \
74           fileinto "inbox.JUNK"; \
75           stop; \
76         }
77   user = CALLER
78   file_transport = t1
79   reply_transport = t3
80
81 r2_11:
82   driver = redirect
83   local_parts = userx11
84   allow_filter
85   data = #Sieve filter\n \
86          require["fileinto","comparator-i;ascii-numeric"]; \
87         if header :comparator "i;ascii-numeric" "X-Sieve" "-99" { \
88           fileinto "inbox.JUNK"; \
89           stop; \
90         }
91   user = CALLER
92   file_transport = t1
93   reply_transport = t3
94
95 r2_12:
96   driver = redirect
97   local_parts = userx12
98   allow_filter
99   data = #Sieve filter\n \
100          require["fileinto","comparator-i;ascii-numeric"]; \
101         if header :comparator "i;ascii-numeric" "X-Sieve" "-98" { \
102           fileinto "inbox.JUNK"; \
103           stop; \
104         }
105   user = CALLER
106   file_transport = t1
107   reply_transport = t3
108
109 r2_13:
110   driver = redirect
111   local_parts = userx13 : someone13
112   allow_filter
113   data = #Sieve filter\n \
114          require ["vacation"];  \
115         vacation "I am gone.  Not here.";
116   user = CALLER
117   file_transport = t1
118   reply_transport = t3
119   sieve_vacation_directory = DIR/test-vacation-directory
120
121 r2_14:
122   driver = redirect
123   local_parts = userx14
124   local_part_suffix = -*
125   local_part_suffix_optional
126   allow_filter
127   data = #Sieve filter\n \
128          require ["envelope","fileinto"];  \
129         if envelope :matches :localpart "to" "*-suffix" { \
130           fileinto "userx-sawsuffix"; \
131           stop;  \
132         }   
133   user = CALLER
134   file_transport = t1
135   reply_transport = t3
136
137 r2:
138   driver = redirect
139   allow_filter
140   skip_syntax_errors
141   data = "#Sieve filter\n$h_filter:"
142   user = CALLER
143   file_transport = t1
144   reply_transport = t3
145
146
147 # ----- Transports -----
148
149 begin transports
150
151 t1:
152   driver = appendfile
153   file = ${if eq{$address_file}{inbox} \
154               {DIR/test-mail/${bless:$local_part}} \
155               {${if eq{${substr_0_1:$address_file}}{/} \
156                     {$address_file} \
157                     {DIR/test-mail/$address_file} \
158               }} \
159          }
160   delivery_date_add
161   envelope_to_add
162   return_path_add
163   user = CALLER
164
165 t2:
166   driver = appendfile
167   file = DIR/test-mail/${bless:$local_part}
168   delivery_date_add
169   envelope_to_add
170   return_path_add
171   user = CALLER
172
173 t3:
174   driver = autoreply
175
176 # End