projects
/
mirror
/
dsa-puppet.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
eximconf: add an alternative SMTP router for "single domain" domains
[mirror/dsa-puppet.git]
/
modules
/
exim
/
templates
/
eximconf.erb
diff --git
a/modules/exim/templates/eximconf.erb
b/modules/exim/templates/eximconf.erb
index
9c147bf
..
9768f25
100644
(file)
--- a/
modules/exim/templates/eximconf.erb
+++ b/
modules/exim/templates/eximconf.erb
@@
-128,10
+128,13
@@
localpartlist local_only_users = lsearch;/etc/exim4/localusers
localpartlist postmasterish = postmaster : abuse : hostmaster
localpartlist postmasterish = postmaster : abuse : hostmaster
-hostlist debianhosts = <; ; 127.0.0.1 ; ::1 ; /var/lib/misc/thishost/debianhosts
; 89.16.166.49 ; 2001:41b8:202:deb:bab5:0:52c3:4b4c
+hostlist debianhosts = <; ; 127.0.0.1 ; ::1 ; /var/lib/misc/thishost/debianhosts
hostlist reservedaddrs = 0.0.0.0/8 : 127.0.0.0/8 : 10.0.0.0/8 : 169.254.0.0/16 : 172.16.0.0/12 : 192.0.0.0/24 : 192.168.0.0/16 : 224.0.0.0/4 : 240.0.0.0/5 : 248.0.0.0/5
hostlist reservedaddrs = 0.0.0.0/8 : 127.0.0.0/8 : 10.0.0.0/8 : 169.254.0.0/16 : 172.16.0.0/12 : 192.0.0.0/24 : 192.168.0.0/16 : 224.0.0.0/4 : 240.0.0.0/5 : 248.0.0.0/5
+domainlist google_mxen = aspmx.l.google.com : gmail-smtp-in.l.google.com
+domainlist single_domain_mx = +google_mxen
+
<%- if @is_mailrelay -%>
# Domains we relay for; that is domains that aren't considered local but we
# accept mail for them.
<%- if @is_mailrelay -%>
# Domains we relay for; that is domains that aren't considered local but we
# accept mail for them.
@@
-1057,7
+1060,10
@@
begin routers
relay_manualroute:
driver = manualroute
domains = +mailhubdomains
relay_manualroute:
driver = manualroute
domains = +mailhubdomains
- transport = remote_smtp
+ transport = ${if forany{${lookup dnsdb{>: mxh=$domain}}}\
+ {match_domain{$item}{+single_domain_mx}}\
+ {remote_smtp_single_domain}{remote_smtp}\
+ }
route_data = ${lookup{$domain}lsearch{/etc/exim4/manualroute}}
require_files = /etc/exim4/manualroute
route_data = ${lookup{$domain}lsearch{/etc/exim4/manualroute}}
require_files = /etc/exim4/manualroute
@@
-1100,7
+1106,10
@@
dnslookup:
debug_print = "R: dnslookup for $local_part@$domain"
driver = dnslookup
domains = !+handled_domains
debug_print = "R: dnslookup for $local_part@$domain"
driver = dnslookup
domains = !+handled_domains
- transport = remote_smtp
+ transport = ${if forany{${lookup dnsdb{>: mxh=$domain}}}\
+ {match_domain{$item}{+single_domain_mx}}\
+ {remote_smtp_single_domain}{remote_smtp}\
+ }
ignore_target_hosts = +reservedaddrs
no_more
ignore_target_hosts = +reservedaddrs
no_more
@@
-1563,6
+1572,14
@@
remote_smtp:
tls_certificate = /etc/exim4/ssl/thishost.crt
tls_privatekey = /etc/exim4/ssl/thishost.key
tls_certificate = /etc/exim4/ssl/thishost.crt
tls_privatekey = /etc/exim4/ssl/thishost.key
+remote_smtp_single_domain:
+ driver = smtp
+ connect_timeout = 15s
+ delay_after_cutoff = false
+ no_multi_domain
+ tls_certificate = /etc/exim4/ssl/thishost.crt
+ tls_privatekey = /etc/exim4/ssl/thishost.key
+
<%- if @use_smarthost -%>
remote_smtp_smarthost:
debug_print = "T: remote_smtp_smarthost for $local_part@$domain"
<%- if @use_smarthost -%>
remote_smtp_smarthost:
debug_print = "T: remote_smtp_smarthost for $local_part@$domain"