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