2e5e15cb246cc0b70e4c2294b737a7496e348d67
[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 addresslist ok_senders = ok@ok.ok
16
17 domainlist local_domains = test.ex : *.test.ex
18 domainlist relay_domains = relay.test.ex
19
20 hostlist ok9_hosts = 9.9.9.9
21
22 LOG_SELECTOR
23
24 qualify_domain = test.ex
25 trusted_users = CALLER
26
27 # Use first three components of address to select ACL
28 acl_smtp_rcpt = acl_${sg{${tr{$sender_host_address}{.}{_}}}{^(.*)_.*\$}{\$1}}
29 acl_smtp_data = data_acl
30
31 # ----- ACLs -----
32
33 begin acl
34
35 data_acl:
36   warn    condition = ${if def:h_x-rcpt-added:{yes}{no}}
37           message   = X-data-added: Header added at data time
38   warn    senders   = rcpttest@test.ex
39           message   = X-data-rcpt-count: $rcpt_count\n\
40                       X-data-rcpt-defer-count: $rcpt_defer_count\n\
41                       X-data-rcpt-fail-count: $rcpt_fail_count
42   warn    message   = X-message-body-size: $message_body_size
43   accept
44
45 acl_1_2_3:
46   require domains = !nopass
47
48   require message = $local_part@$domain shall not pass
49           domains = !wontpass
50
51   deny    message = domain explicitly denied
52           log_message = DOMAIN EXPLICITLY DENIED
53           continue = this value is not used
54           domains = deny.test.ex
55
56   accept  domains = +local_domains
57           endpass
58           message = $domain gets refused
59           domains = !refuse.test.ex
60
61   # Double to check caching
62   accept  domains = +relay_domains
63   accept  domains = +relay_domains
64
65 acl_5_6_7:
66   accept  domains = lsearch;DIR/aux-fixed/TESTNUM.doms
67           local_parts = $domain_data
68
69 acl_5_6_8:
70   accept  senders = user1@domain1 : domain2 : +ok_senders
71
72 acl_5_6_11:
73   accept  condition = ${if match{$local_part}{^x}{yes}{no}}
74   deny    message = "local part of wrong type\n(quotes are literal)
75
76 acl_5_6_12:
77   accept  hosts = 5.6.12.1
78           endpass
79           message = failed nested acl
80           acl = acl_5_6_12A
81   accept
82
83 acl_5_6_12A:
84   accept  domains = ok
85
86 acl_5_6_13:
87   accept  acl = DIR/aux-fixed/TESTNUM.acl1
88
89 acl_8_8_8:
90   accept  acl = acl_8_8_8
91
92 acl_9_9_9:
93   accept  hosts = +ok9_hosts
94   deny    message = don't like this host
95           hosts = 9.9.9.0/26
96   accept  hosts = 9.9.9.0/24
97
98 acl_V4NET_0_0:
99   require verify = reverse_host_lookup
100   accept
101
102 acl_V4NET_11_12:
103   deny    message = host in DNS list $dnslist_domain: $dnslist_text
104           log_message = DNSLIST ($dnslist_domain: $dnslist_text)
105           dnslists = rbl.test.ex
106   accept
107
108 acl_20_20_20:
109   accept  endpass
110           message = sender verify failure
111           verify = sender
112           message = recipient verify failure
113           verify = recipient
114
115 acl_21_21_21:
116   accept
117           verify = sender
118           verify = recipient
119
120 acl_22_22_22:
121   accept  recipients = x@y
122
123 acl_23_23_23:
124   deny    hosts = 23.23.23.0
125           message = sender must verify
126          !verify = sender
127   accept
128
129 acl_24_24_24:
130   warn    message = X-Warn: sender didn't verify
131           condition = yes
132
133 acl_25_25_25:
134   deny    message = denying domains=x
135           domains = x
136
137 acl_26_26_26:
138   deny    senders = :
139           message = bounce messages can have only one recipient
140           condition = ${if > {$recipients_count}{0}{yes}{no}}
141   accept
142
143 # Force host list expansion failure
144 acl_27_27_27:
145   deny    hosts = ${if eq {1}{0}{}fail}
146   accept
147
148 acl_28_28_28:
149   accept  sender_domains = : okdomain
150
151 acl_29_29_29:
152   deny    dnslists = test.ex/$sender_address_domain
153   accept
154
155 acl_30_30_30:
156   deny    message  = domain=$dnslist_domain\n\
157                      value=$dnslist_value\n\
158                      matched=$dnslist_matched\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
164 acl_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
169 acl_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
181 acl_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
189 acl_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
197 acl_55_55_55:
198   warn    message = X-rcpt-added: An added header at RCPT time
199   accept
200
201 acl_56_56_56:
202   warn    message = X-Warn: $local_part
203           condition = ${substr_5:$local_part}
204   accept
205
206 acl_56_56_57:
207   accept  message = accepted by condition
208           condition = ${substr_5:$local_part}
209
210 acl_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
218 acl_56_56_59:
219   accept  message = ACL message for verification failure\n \
220                     Original was >$acl_verify_message<
221           verify  = recipient
222
223 acl_60_60_60:
224   accept !acl = DIR/aux-fixed/0023.acl2
225
226
227 # ----- Transports -----
228
229 begin transports
230
231 t1:
232   driver = appendfile
233   file = DIR/test-mail/$local_part
234   user = CALLER
235
236 t2:
237   driver = appendfile
238   file = DIR/test-mail/okbatch
239   user = CALLER
240   batch_max = 100
241   envelope_to_add
242
243 # ----- Routers -----
244
245 begin routers
246
247 r0:
248   driver = accept
249   local_parts = ^ok
250   transport = t2
251
252 r1:
253   driver = accept
254   local_parts = ^userx : ^cond-
255   transport = t1
256
257 r2:
258   driver = redirect
259   local_parts = fail
260   allow_fail
261   data = :fail: here is a fail message
262
263 # ----- Retry -----
264
265 begin retry
266
267 *                *   F,5d,5m
268
269 # End