725c9874 |
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 |
d38e06ff |
19 | domains = ! +local_domains : +relay_to_domains |
725c9874 |
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 |
d38e06ff |
32 | domains = ! +local_domains |
725c9874 |
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 :\ |
d2b0a567 |
37 | 172.16.0.0/12 : 10.0.0.0/8 : 169.254.0.0/16 :\ |
38 | 255.255.255.255 |
725c9874 |
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. |