summaryrefslogtreecommitdiff
path: root/test/confs/4201
blob: 376cea5bd2840e62f17101576d1760f9165d9f68 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
# Exim test configuration 4201
# SMTPUTF8 handling

OPTION = *
CONTROL =
INSERT =
SUB =

.include DIR/aux-var/std_conf_prefix


# ----- Main settings -----

domainlist local_domains = test.ex : cname

acl_smtp_rcpt = check_recipient
acl_not_smtp = non_smtp

trusted_users = CALLER
log_selector = +received_recipients +sender_on_delivery

.ifdef SERVER
queue_only
queue_run_in_order
.endif

smtputf8_advertise_hosts = OPTION

SUB


# ----- ACL -----

begin acl


.ifdef SERVER

check_recipient:
  accept hosts = :
  accept domains = +local_domains
	 local_parts = ^(xn--)?user.*\$
  deny   message = relay not permitted

.else

sub:
.ifdef INSERT
  require INSERT
.endif
.ifdef CONTROL
  require CONTROL
.endif
  accept

check_recipient:
  accept domains = *
	 acl = sub

non_smtp:
  accept senders = :
	 control = queue_only
  accept

.endif

# ----- Routers -----

begin routers

.ifdef SERVER

fail_remote_domains:
  driver = redirect
  domains = ! +local_domains
  data = :fail: unrouteable mail domain "$domain"

bounces:
  driver = redirect
  condition = ${if eq {} {$sender_address}}
  data = DIR/test-mail/$local_part
  file_transport = local_delivery

localuser:
  driver = redirect
  data = :blackhole:

.else

bounces:
  driver = redirect
  domains = *.local
  data = DIR/test-mail/$local_part
  file_transport = local_delivery

redir:
  driver = redirect
  local_parts = ^z
  data  =	${substr_1:$local_part}@$domain

rmt:
  driver = manualroute
  domains = +local_domains
  route_data = <;[127.0.0.1]:PORT_D
  transport = rmt_smtp
  self = send

.endif

# ----- Transports -----

begin transports

local_delivery:
  driver = appendfile
  user = CALLER
  delivery_date_add
  envelope_to_add
  file = DIR/test-mail/$local_part
  create_file = DIR/test-mail
  headers_add = "X-body-linecount: $body_linecount\n\
                 X-message-linecount: $message_linecount\n\
                 X-received-count: $received_count"
  return_path_add

rmt_smtp:
  driver = smtp
  hosts_try_fastopen =	:
.ifdef STRICT
  utf8_downconvert = STRICT
.endif

# End