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