# Exim test configuration 0606
-exim_path = EXIM_PATH
-host_lookup_order = bydns
-spool_directory = DIR/spool
-log_file_path = DIR/spool/log/SERVER%slog
-gecos_pattern = ""
-gecos_name = CALLER_NAME
+.include DIR/aux-var/std_conf_prefix
-slow_lookup_log = 1000
-acl_smtp_rcpt = accept verify = recipient
+# ----- Main settings -----
-queue_only
+domainlist local_domains = test.ex
+qualify_domain = test.ex
+
+acl_not_smtp = not_smtp
+
+begin acl
+
+not_smtp:
+ accept log_message = rcpts <$recipients> local_part <$local_part>
+
+# ----- Routers -----
begin routers
-all:
- driver = dnslookup
+dump_bounce:
+ driver = redirect
+ senders = :
+ data = :blackhole:
+
+hide_verifies:
+ driver = accept
verify_only
- self = send
-# End
+bad:
+ driver = accept
+ local_parts = bad
+ set = r_srs_domain = ${lookup mysql{wrong things
+ transport = local_delivery
+
+alias:
+ driver = redirect
+ debug_print = DEBUG: $r_r1 $r_r2
+ data = b
+ # r_r1 checks that a variable with tainted data is ok
+ # that the default list-sep ":" is not used for this list
+ # that an '=' on the RHS is ok
+ set = r_r1 = <$local_part> aaa:bbb bar=baz
+ # r_local checks that a variable is immediately usable
+ set = r_local = check
+ errors_to = bad_$r_local
+
+user:
+ driver = accept
+ debug_print = DEBUG: $r_r1 $r_r2
+ # r_r1 vs. r_r2 checks we can have multiple "set" options
+ set = r_r1 = $local_part
+ set = r_r2 = $local_part \
+ 2a00:1940:100::ff:0:1 \
+ foo=bar \
+ # check we can get a newline into content
+ newline=initial\n\tcont \
+ # check we can get a list-sep into content (by doubling)
+ semicolon=initial;;cont \
+ ; \
+ # r_r3 checks we can have a list as arg for a "set" option
+ r_r3 = bletch
+ transport = local_delivery
+
+# ----- Transports -----
+
+begin transports
+
+local_delivery:
+ driver = appendfile
+ envelope_to_add
+ file = DIR/test-mail/$local_part
+ create_file = DIR/test-mail
+ user = CALLER
+ headers_add = X-r1: <$r_r1>\nX-r2: <$r_r2>\nX-r3: <$r_r3>
+
+
+# ----- Retry -----
+begin retry
+* * F,5d,10s
+
+# End