3f9721e2e849db19ee7dc822c67482f1e6aaa697
[hcoop/zz_old/config/exim4-hopper.git] / conf.d / router / 200_exim4-config_primary
1
2 ### router/200_exim4-config_primary
3 #################################
4 # This file holds the primary router, responsible for nonlocal mails
5
6 .ifdef DCconfig_internet
7 # configtype=internet
8 #
9 # deliver mail to the recipient if recipient domain is a domain we
10 # relay for. We do not ignore any target hosts here since delivering to
11 # a site local or even a link local address might be wanted here, and if
12 # such an address has found its way into the MX record of such a domain,
13 # the local admin is probably in a place where that broken MX record
14 # could be fixed.
15
16 dnslookup_relay_to_domains:
17 debug_print = "R: dnslookup_relay_to_domains for $local_part@$domain"
18 driver = dnslookup
19 domains = ! +local_domains : +relay_to_domains
20 transport = remote_smtp
21 same_domain_copy_routing = yes
22 no_more
23
24 # deliver mail directly to the recipient. This router is only reached
25 # for domains that we do not relay for. Since we most probably can't
26 # have broken MX records pointing to site local or link local IP
27 # addresses fixed, we ignore target hosts pointing to these addresses.
28
29 dnslookup:
30 debug_print = "R: dnslookup for $local_part@$domain"
31 driver = dnslookup
32 domains = ! +local_domains
33 transport = remote_smtp
34 same_domain_copy_routing = yes
35 # ignore private rfc1918 and APIPA addresses
36 ignore_target_hosts = 0.0.0.0 : 127.0.0.0/8 : 192.168.0.0/16 :\
37 172.16.0.0/12 : 10.0.0.0/8 : 169.254.0.0/16
38 no_more
39
40 .endif
41
42
43 .ifdef DCconfig_local
44 # configtype=local
45 #
46 # Stand-alone system, so generate an error for mail to a non-local domain
47 nonlocal:
48 debug_print = "R: nonlocal for $local_part@$domain"
49 driver = redirect
50 domains = ! +local_domains
51 allow_fail
52 data = :fail: Mailing to remote domains not supported
53 no_more
54
55 .endif
56
57
58 .ifdef DCconfig_smarthost DCconfig_satellite
59 # configtype=smarthost or configtype=satellite
60 #
61 # Send all non-local mail to a single other machine (smarthost).
62 #
63 # This means _ALL_ non-local mail goes to the smarthost. This will most
64 # probably not do what you want for domains that are listed in
65 # relay_domains. The most typical use for relay_domains is to control
66 # relaying for incoming e-mail on secondary MX hosts. In that case,
67 # it doesn't make sense to send the mail to the smarthost since the
68 # smarthost will probably send the message right back here, causing a
69 # loop.
70 #
71 # If you want to use a smarthost while being secondary MX for some
72 # domains, you'll need to copy the dnslookup_relay_to_domains router
73 # here so that mail to relay_domains is handled separately.
74
75 smarthost:
76 debug_print = "R: smarthost for $local_part@$domain"
77 driver = manualroute
78 domains = ! +local_domains
79 transport = remote_smtp_smarthost
80 route_list = * DCsmarthost byname
81 host_find_failed = defer
82 same_domain_copy_routing = yes
83 no_more
84
85 .endif
86
87
88 # The "no_more" above means that all later routers are for
89 # domains in the local_domains list, i.e. just like Exim 3 directors.