mwolson: Upgrade exim4 packages to equivalent of version in debian testing
[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 255.255.255.255
39 no_more
40
41 .endif
42
43
44 .ifdef DCconfig_local
45 # configtype=local
46 #
47 # Stand-alone system, so generate an error for mail to a non-local domain
48 nonlocal:
49 debug_print = "R: nonlocal for $local_part@$domain"
50 driver = redirect
51 domains = ! +local_domains
52 allow_fail
53 data = :fail: Mailing to remote domains not supported
54 no_more
55
56 .endif
57
58
59 .ifdef DCconfig_smarthost DCconfig_satellite
60 # configtype=smarthost or configtype=satellite
61 #
62 # Send all non-local mail to a single other machine (smarthost).
63 #
64 # This means _ALL_ non-local mail goes to the smarthost. This will most
65 # probably not do what you want for domains that are listed in
66 # relay_domains. The most typical use for relay_domains is to control
67 # relaying for incoming e-mail on secondary MX hosts. In that case,
68 # it doesn't make sense to send the mail to the smarthost since the
69 # smarthost will probably send the message right back here, causing a
70 # loop.
71 #
72 # If you want to use a smarthost while being secondary MX for some
73 # domains, you'll need to copy the dnslookup_relay_to_domains router
74 # here so that mail to relay_domains is handled separately.
75
76 smarthost:
77 debug_print = "R: smarthost for $local_part@$domain"
78 driver = manualroute
79 domains = ! +local_domains
80 transport = remote_smtp_smarthost
81 route_list = * DCsmarthost byname
82 host_find_failed = defer
83 same_domain_copy_routing = yes
84 no_more
85
86 .endif
87
88
89 # The "no_more" above means that all later routers are for
90 # domains in the local_domains list, i.e. just like Exim 3 directors.