Commit | Line | Data |
---|---|---|
afda344b PH |
1 | # Exim test configuration 0428 |
2 | ||
d4dc049f JH |
3 | .include DIR/aux-var/std_conf_prefix |
4 | ||
afda344b PH |
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 | ||
f3ebb786 JH |
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: | |
afda344b | 82 | driver = redirect |
f3ebb786 JH |
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 | |
2c9405c7 PH |
124 | local_part_suffix = -* |
125 | local_part_suffix_optional | |
afda344b | 126 | allow_filter |
f3ebb786 JH |
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 | |
afda344b PH |
141 | data = "#Sieve filter\n$h_filter:" |
142 | user = CALLER | |
143 | file_transport = t1 | |
144 | reply_transport = t3 | |
afda344b PH |
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/$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/$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 |