Events: add recipient-deferred events, both per-host and all-hosts.
[exim.git] / test / confs / 5700
1 # Exim test configuration 5700
2
3 exim_path = EXIM_PATH
4 host_lookup_order = bydns
5 spool_directory = DIR/spool
6 log_file_path = DIR/spool/log/%slog
7 gecos_pattern = ""
8 gecos_name = CALLER_NAME
9 tls_advertise_hosts =
10
11 # ----- Main settings -----
12
13 acl_smtp_rcpt = accept
14 acl_smtp_data = accept
15
16 event_action = ${acl {logger}}
17
18
19 # ----- ACL -----
20
21 begin acl
22
23 ev_tcp:
24     accept condition = ${if eq {$event_name}{tcp:connect}}
25            logwrite = . [$host_address]:$host_port
26     accept condition = ${if eq {$event_name}{tcp:close}}
27            logwrite = . [$sending_ip_address] -> \
28                         [$host_address]:$host_port
29     accept
30
31 ev_smtp:
32     accept
33            logwrite = . [$sending_ip_address] -> \
34                         [$host_address]:$host_port
35            logwrite = . banner <$event_data>
36
37 ev_msg_fail:
38     accept condition = ${if eq {$event_name}{msg:fail:delivery}}
39            logwrite = . \
40             refused by fdqn <$host> \
41             local_part <$local_part> \
42             domain <$domain> \
43
44     accept logwrite = . \
45             local_part <$local_part> \
46             domain <$domain> \
47             reason <$event_data>
48
49 ev_msg_log:
50     accept logwrite = . \
51             $acl_arg1 \
52             ip <$host_address> \
53             port <$host_port> \
54             fqdn <$host> \
55             local_part <$local_part> \
56             domain <$domain> \
57             $acl_arg2 \
58             router <$router_name> \
59             transport <$transport_name>
60
61 ev_msg:
62     accept condition = ${if eq {fail} {${listextract{2}{$event_name}}}}
63            acl = ev_msg_fail
64
65     accept condition = ${if eq {$event_name}{msg:complete}}
66            logwrite = . finished: $message_exim_id
67
68     accept condition = ${if !eq {$domain}{domain1}}
69            logwrite = $this_expansion_will_fail
70
71     accept condition = ${if eq {$event_name}{msg:delivery}}
72            acl = ev_msg_log delivery "confirmation <$event_data>"
73
74     accept condition = ${if eq {$event_name}{msg:host:defer}}
75            acl = ev_msg_log "host deferral" \
76                         "errno <$event_defer_errno> errstr <$event_data>"
77
78     accept condition = ${if eq {$event_name}{msg:rcpt:defer}}
79            set acl_m_ev_lkup =  ${eval:$event_defer_errno & 0xff}
80            set acl_m_ev_lkup =  ${if = {$acl_m_ev_lkup}{65} {A} \
81                                 { ${if = {$acl_m_ev_lkup}{77} {MX} \
82                                   {$acl_m_ev_lkup}}}}
83            set acl_m_ev_code =  4${eval:$event_defer_errno >>8}
84            acl = ev_msg_log "rcpt deferral" \
85                         "err <$event_defer_errno>:<$acl_m_ev_lkup:$acl_m_ev_code> \
86                         errstr <$event_data>"
87
88 logger:
89     warn   logwrite = event $event_name
90     accept condition = ${if eq {tcp} {${listextract{1}{$event_name}}}}
91            acl = ev_tcp
92     accept condition = ${if eq {smtp} {${listextract{1}{$event_name}}}}
93            acl = ev_smtp
94     accept condition = ${if eq {msg} {${listextract{1}{$event_name}}}}
95            acl = ev_msg
96
97
98 # ----- Routers -----
99
100 begin routers
101
102 dump_bounces:
103   driver = redirect
104   senders = :
105   data = :blackhole:
106
107 others:
108   driver = manualroute
109   route_list = * 127.0.0.1 byname
110   self = send
111   transport = smtp
112   errors_to = ""
113   no_more
114
115
116 # ----- Transports -----
117
118 begin transports
119
120 smtp:
121   driver = smtp
122   port = PORT_S
123   command_timeout = 1s
124   final_timeout = 1s
125   event_action =   ${acl {logger}}
126
127 # End