These are domains that only allow a single recipient domain per SMTP
connection, in order to allow simple differentiation of filtering
options.
Signed-off-by: Adam D. Barratt <adam@adam-barratt.org.uk>
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.
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
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
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"