Commit | Line | Data |
---|---|---|
de45f55a AM |
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 = ignore | |
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. |