safer coding of router toplevel
[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_15:
138   driver = redirect
139   local_parts = userx_inbox
140   allow_filter
141   data = "#Sieve filter\nkeep;\n"
142   user = CALLER
143   sieve_inbox = inbox.changed
144   file_transport = t1
145
146 r2:
147   driver = redirect
148   allow_filter
149   skip_syntax_errors
150   data = "#Sieve filter\n$h_filter:"
151   user = CALLER
152   file_transport = t1
153   reply_transport = t3
154
155
156 # ----- Transports -----
157
158 begin transports
159
160 t1:
161   driver = appendfile
162   file = ${if eq{$address_file}{inbox} \
163               {DIR/test-mail/$local_part} \
164               {${if eq{${substr_0_1:$address_file}}{/} \
165                     {$address_file} \
166                     {DIR/test-mail/$address_file} \
167               }} \
168          }
169   create_file = DIR/test-mail
170   delivery_date_add
171   envelope_to_add
172   return_path_add
173   user = CALLER
174
175 t2:
176   driver = appendfile
177   file = DIR/test-mail/$local_part
178   create_file = DIR/test-mail
179   delivery_date_add
180   envelope_to_add
181   return_path_add
182   user = CALLER
183
184 t3:
185   driver = autoreply
186
187 # End