Add "continue" modifier.
[exim.git] / test / confs / 0023
CommitLineData
afda344b
PH
1# Exim test configuration 0023
2
3LOG_SELECTOR=
4
5exim_path = EXIM_PATH
6host_lookup_order = bydns
7primary_hostname = myhost.test.ex
8rfc1413_query_timeout = 0s
9spool_directory = DIR/spool
10log_file_path = DIR/spool/log/%slog
11gecos_pattern = ""
12gecos_name = CALLER_NAME
13
14# ----- Main settings -----
15
16addresslist ok_senders = ok@ok.ok
17
18domainlist local_domains = test.ex : *.test.ex
19domainlist relay_domains = relay.test.ex
20
21hostlist ok9_hosts = 9.9.9.9
22
23LOG_SELECTOR
24
25qualify_domain = test.ex
26trusted_users = CALLER
27
28# Use first three components of address to select ACL
29acl_smtp_rcpt = acl_${sg{${tr{$sender_host_address}{.}{_}}}{^(.*)_.*\$}{\$1}}
30acl_smtp_data = data_acl
31
32# ----- ACLs -----
33
34begin acl
35
36data_acl:
37 warn condition = ${if def:h_x-rcpt-added:{yes}{no}}
38 message = X-data-added: Header added at data time
39 warn senders = rcpttest@test.ex
40 message = X-data-rcpt-count: $rcpt_count\n\
41 X-data-rcpt-defer-count: $rcpt_defer_count\n\
42 X-data-rcpt-fail-count: $rcpt_fail_count
43 warn message = X-message-body-size: $message_body_size
44 accept
45
46acl_1_2_3:
47 require domains = !nopass
48
49 require message = $local_part@$domain shall not pass
50 domains = !wontpass
51
52 deny message = domain explicitly denied
53 log_message = DOMAIN EXPLICITLY DENIED
c3611384 54 continue = this value is not used
afda344b
PH
55 domains = deny.test.ex
56
57 accept domains = +local_domains
58 endpass
59 message = $domain gets refused
60 domains = !refuse.test.ex
61
62 # Double to check caching
63 accept domains = +relay_domains
64 accept domains = +relay_domains
65
66acl_5_6_7:
67 accept domains = lsearch;DIR/aux-fixed/TESTNUM.doms
68 local_parts = $domain_data
69
70acl_5_6_8:
71 accept senders = user1@domain1 : domain2 : +ok_senders
72
73acl_5_6_11:
74 accept condition = ${if match{$local_part}{^x}{yes}{no}}
75 deny message = "local part of wrong type\n(quotes are literal)
76
77acl_5_6_12:
78 accept hosts = 5.6.12.1
79 endpass
80 message = failed nested acl
81 acl = acl_5_6_12A
82 accept
83
84acl_5_6_12A:
85 accept domains = ok
86
87acl_5_6_13:
88 accept acl = DIR/aux-fixed/TESTNUM.acl1
89
90acl_8_8_8:
91 accept acl = acl_8_8_8
92
93acl_9_9_9:
94 accept hosts = +ok9_hosts
95 deny message = don't like this host
96 hosts = 9.9.9.0/26
97 accept hosts = 9.9.9.0/24
98
99acl_V4NET_0_0:
100 require verify = reverse_host_lookup
101 accept
102
103acl_V4NET_11_12:
104 deny message = host in DNS list $dnslist_domain: $dnslist_text
105 log_message = DNSLIST ($dnslist_domain: $dnslist_text)
106 dnslists = rbl.test.ex
107 accept
108
109acl_20_20_20:
110 accept endpass
111 message = sender verify failure
112 verify = sender
113 message = recipient verify failure
114 verify = recipient
115
116acl_21_21_21:
117 accept
118 verify = sender
119 verify = recipient
120
121acl_22_22_22:
122 accept recipients = x@y
123
124acl_23_23_23:
125 deny hosts = 23.23.23.0
126 message = sender must verify
127 !verify = sender
128 accept
129
130acl_24_24_24:
131 warn message = X-Warn: sender didn't verify
132 condition = yes
133
134acl_25_25_25:
135 deny message = denying domains=x
136 domains = x
137
138acl_26_26_26:
139 deny senders = :
140 message = bounce messages can have only one recipient
141 condition = ${if > {$recipients_count}{0}{yes}{no}}
142 accept
143
144# Force host list expansion failure
145acl_27_27_27:
146 deny hosts = ${if eq {1}{0}{}fail}
147 accept
148
149acl_28_28_28:
150 accept sender_domains = : okdomain
151
152acl_29_29_29:
153 deny dnslists = test.ex/$sender_address_domain
154 accept
155
156acl_30_30_30:
157 deny message = domain=$dnslist_domain\n\
158 value=$dnslist_value\n\
159 text="$dnslist_text"
160 dnslists = test.ex=V4NET.0.0.1,127.0.0.2/$sender_address_domain
161 accept
162
163# This one tests what happens when a lookup key gets too long
164acl_31_31_31:
165 deny dnslists = test.ex/$sender_address_domain+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+END
166 accept
167
168# Settings of $domain and $local_part
169acl_32_32_32:
170 warn message = Start: domain=$domain local_part=$local_part
171
172 warn local_parts = userx-vs
173 message = Vs: domain=$domain local_part=$local_part
174 verify = sender
175
176 warn message = Vr: domain=$domain local_part=$local_part
177 verify = recipient
178
179 accept
180
181acl_33_33_33:
182 accept endpass
183 message = sender verify failure
184 verify = sender/no_details
185 message = recipient verify failure
186 verify = recipient
187
188# Incomplete DNS lookups
189acl_44_44_44:
190 warn dnslists = test.again.dns
191 warn dnslists = +include_unknown : test.again.dns
192 warn dnslists = +exclude_unknown : test.again.dns
193 warn dnslists = +defer_unknown : test.again.dns
194 accept
195
196# Adding header at RCPT time and testing at DATA time
197acl_55_55_55:
198 warn message = X-rcpt-added: An added header at RCPT time
199 accept
200
201acl_56_56_56:
202 warn message = X-Warn: $local_part
203 condition = ${substr_5:$local_part}
204 accept
205
206acl_56_56_57:
4e88a19f 207 accept message = accepted by condition
afda344b
PH
208 condition = ${substr_5:$local_part}
209
210acl_56_56_58:
211 warn message = xx: rcpt_count = $rcpt_count\n \
212 rcpt_defer_count = $rcpt_defer_count\n \
213 rcpt_fail_count = $rcpt_fail_count\n \
214 recipients_count = $recipients_count\n \
215 local_part = $local_part
216 accept local_parts = ^ok
217
218acl_56_56_59:
219 accept message = ACL message for verification failure\n \
220 Original was >$acl_verify_message<
221 verify = recipient
222
0b26748a
PH
223acl_60_60_60:
224 accept !acl = DIR/aux-fixed/0023.acl2
225
afda344b
PH
226
227# ----- Transports -----
228
229begin transports
230
231t1:
232 driver = appendfile
233 file = DIR/test-mail/$local_part
234 user = CALLER
235
236t2:
237 driver = appendfile
238 file = DIR/test-mail/okbatch
239 user = CALLER
240 batch_max = 100
241 envelope_to_add
242
243# ----- Routers -----
244
245begin routers
246
247r0:
248 driver = accept
249 local_parts = ^ok
250 transport = t2
251
252r1:
253 driver = accept
254 local_parts = ^userx : ^cond-
255 transport = t1
256
257r2:
258 driver = redirect
259 local_parts = fail
260 allow_fail
261 data = :fail: here is a fail message
262
263# ----- Retry -----
264
265begin retry
266
267* * F,5d,5m
268
269# End