blob: d94e70d7c2ee21911485b0462214ea2763cc9c33 (
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
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
|
# Exim test configuration 3400
.include DIR/aux-var/std_conf_prefix
primary_hostname = myhost.test.ex
# ----- Main settings -----
domainlist local_domains = test.ex : *.test.ex
hostlist auth_hosts = 10.0.0.1
hostlist relay_hosts = 10.0.0.4
hostlist auth_relay_hosts = 10.0.0.3 : 10.0.0.4
acl_smtp_connect = check_connect
acl_smtp_etrn = check_etrn
acl_smtp_expn = check_expn
acl_smtp_rcpt = check_recipient
acl_smtp_vrfy = check_vrfy
auth_advertise_hosts = +auth_hosts : !+relay_hosts : +auth_relay_hosts : \
10.0.0.5
smtp_accept_max_nonmail = 20
system_filter = DIR/aux-fixed/TESTNUM.filter
trusted_users = CALLER
# ----- ACL -----
begin acl
check_connect:
warn hosts = 10.0.0.6
control = allow_auth_unadvertised
accept
check_recipient:
warn hosts = 10.0.0.5
message = authentication-failed: $authentication_failed
accept hosts = 10.0.0.5
accept hosts = :
deny hosts = +auth_hosts
message = authentication required
!authenticated = *
accept domains = +local_domains
accept hosts = +relay_hosts
accept hosts = +auth_relay_hosts
endpass
message = authentication required
authenticated = *
deny message = relay not permitted
check_etrn:
deny hosts = +auth_hosts
message = authentication required
!authenticated = *
require hosts = 10.0.0.0/24
warn log_message = accepted ETRN $smtp_command_argument
accept
check_expn:
deny hosts = +auth_hosts
message = authentication required
!authenticated = *
accept hosts = 10.0.0.0/24
check_vrfy:
deny hosts = +auth_hosts
message = authentication required
!authenticated = *
accept
# ----- Authentication -----
begin authenticators
mylogin:
driver = plaintext
public_name = mylogin
server_debug_print = +++MYLOGIN \$1="$1" \$2=\"$2" \$3="$3"
server_condition = "\
${if match{$1}{^(\\\\S+)\\\\s+(\\\\S+)\\$}\
{${if and {{eq{$1}{userx}}{eq{$2}{secret}}}{yes}{no}}}{no}}"
plain:
driver = plaintext
public_name = PLAIN
server_condition = "\
${if and {{eq{$auth2}{userx}}{eq{$auth3}{secret}}}{yes}{no}}"
server_set_id = $auth2
extended_plain:
driver = plaintext
public_name = EXPLAIN
server_prompts = :
server_condition = "\
${if and {{eq{$auth2}{userx}}{eq{$auth3}{secret}}}{yes}{no}}"
server_set_id = $auth2
expanded_prompt_plain:
driver = plaintext
public_name = EXPANDED
server_prompts = $primary_hostname
server_condition = "\
${if and {{eq{$auth2}{userx}}{eq{$auth3}{secret}}}{yes}{no}}"
server_set_id = $auth2
expanded_prompt_plain_fail:
driver = plaintext
public_name = EXPANDFAIL
server_prompts = $nonexistent
server_condition = "\
${if and {{eq{$auth2}{userx}}{eq{$auth3}{secret}}}{yes}{no}}"
server_set_id = $auth2
defer:
driver = plaintext
public_name = DEFER
server_condition = "account suspended"
server_set_id = $auth2
login:
driver = plaintext
public_name = LOGIN
server_prompts = "User Name : Password "
server_condition = "\
${if and {{eq{$auth1}{userx}}{eq{$auth2}{secret}}}{yes}{no}}"
server_set_id = $auth1
# ----- Routers -----
begin routers
fail_remote_domains:
driver = redirect
domains = ! +local_domains
data = :fail: unrouteable mail domain "$domain"
localuser:
driver = accept
local_parts = userx
transport = appendfile
# ----- Transports -----
begin transports
appendfile:
driver = appendfile
delivery_date_add
envelope_to_add
file = DIR/test-mail/${bless:$local_part}
return_path_add
user = CALLER
# End
|