summaryrefslogtreecommitdiff
path: root/test/confs/5700
blob: db1aa2a6e2da109b7b7aa3ef7c0789fbe3efdf5e (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
# Exim test configuration 5700

exim_path = EXIM_PATH
host_lookup_order = bydns
spool_directory = DIR/spool
log_file_path = DIR/spool/log/%slog
gecos_pattern = ""
gecos_name = CALLER_NAME
tls_advertise_hosts =

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

acl_smtp_rcpt = accept
acl_smtp_data = accept

event_action = ${acl {logger}}


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

begin acl

ev_tcp:
    accept condition = ${if eq {$event_name}{tcp:connect}}
	   logwrite = . [$host_address]:$host_port
    accept condition = ${if eq {$event_name}{tcp:close}}
	   logwrite = . [$sending_ip_address] -> \
			[$host_address]:$host_port
    accept

ev_smtp:
    accept
	   logwrite = . [$sending_ip_address] -> \
			[$host_address]:$host_port
	   logwrite = . banner <$event_data>

ev_msg_fail:
    accept condition = ${if eq {$event_name}{msg:fail:delivery}}
	   logwrite = . \
	    refused by fdqn <$host> \
	    local_part <$local_part> \
	    domain <$domain> \

    accept logwrite = . \
	    local_part <$local_part> \
	    domain <$domain> \
	    reason <$event_data>

ev_msg_log:
    accept logwrite = . \
	    $acl_arg1 \
	    ip <$host_address> \
	    port <$host_port> \
	    fqdn <$host> \
	    local_part <$local_part> \
	    domain <$domain> \
	    $acl_arg2 \
	    router <$router_name> \
	    transport <$transport_name>

ev_msg:
    accept condition = ${if eq {fail} {${listextract{2}{$event_name}}}}
	   acl = ev_msg_fail

    accept condition = ${if eq {$event_name}{msg:complete}}
	   logwrite = . finished: $message_exim_id

    accept condition = ${if !eq {$domain}{domain1}}
	   logwrite = $this_expansion_will_fail

    accept condition = ${if eq {$event_name}{msg:delivery}}
	   acl = ev_msg_log delivery "confirmation <$event_data>"

    accept condition = ${if eq {$event_name}{msg:host:defer}}
	   acl = ev_msg_log "host deferral" \
			"errno <$event_defer_errno> errstr <$event_data>"

    accept condition = ${if eq {$event_name}{msg:rcpt:defer}}
	   set acl_m_ev_lkup =	${eval:$event_defer_errno & 0xff}
	   set acl_m_ev_lkup =	${if = {$acl_m_ev_lkup}{65} {A} \
				{ ${if = {$acl_m_ev_lkup}{77} {MX} \
				  {$acl_m_ev_lkup}}}}
	   set acl_m_ev_code =  4${eval:$event_defer_errno >>8}
	   acl = ev_msg_log "rcpt deferral" \
			"err <$event_defer_errno>:<$acl_m_ev_lkup:$acl_m_ev_code> \
			errstr <$event_data>"

logger:
    warn   logwrite = event $event_name
    accept condition = ${if eq {tcp} {${listextract{1}{$event_name}}}}
	   acl = ev_tcp
    accept condition = ${if eq {smtp} {${listextract{1}{$event_name}}}}
	   acl = ev_smtp
    accept condition = ${if eq {msg} {${listextract{1}{$event_name}}}}
	   acl = ev_msg


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

begin routers

dump_bounces:
  driver = redirect
  senders = :
  data = :blackhole:

others:
  driver = manualroute
  route_list = * 127.0.0.1 byname
  self = send
  transport = smtp
  errors_to = ""
  no_more


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

begin transports

smtp:
  driver = smtp
  port = PORT_S
  command_timeout = 1s
  final_timeout = 1s
  event_action =   ${acl {logger}}

# End