# considerably from what could be considered a standard exim configuration.
# This configuration file brings in the necessary information from
-# other databases stored in /etc/exim/ and the files distributed by ud-ldap
+# other databases stored in /etc/exim4/ and the files distributed by ud-ldap
# This file is independent of the local host, it should not be changed
# per machine. primary_hostname is used in all places that require per-host
# settings.
-# The configuration files in /etc/exim are as follows:
+# The configuration files in /etc/exim4 are as follows:
# locals - This is a list of domains that are considered local. A local
-# domain is essential one that deliveries to /var/mail
+# domain is essentially one for which deliveries to /var/mail
# will be attempted. The users available for local delivery
-# comes from /etc/passwd and /etc/aliases. Wildcards are not
+# come from /etc/passwd and /etc/aliases. Wildcards are not
# permitted.
# virtualdomains - This is a list of all virtual domains. A virtual domain
# is much like a local domain, execpt that the delivery location
# and allowed set of users is controlled by a virtual domain
# alias file and not /etc/passwd. Wildcards are permitted
# relayhosts - Hostnames that can send any arbitarily addressed mail to
-# us. This is primarily only usefull for emergancy 'queue
+# us. This is primarily only useful for emergency 'queue
# flushing' operations, but should be populated with a list
# of trusted machines. Wildcards are not permitted
# bsmtp_domains - Domains that we deliver locally via bsmtp
# Further details can be found in each of the files.
-# Usefull exim commands:
+# Useful exim commands:
# exim4 -qf - Try sending all messages right now, including frozen ones
# exim4 -bt foo@blah - Write what exim would do if it saw the address
# Great for testing virtual domains and forward files
# Heuristic check (none bad enough to cause a hard reject, but in aggregate
# will trigger things like rcpt to rate limiting or possibly a reject if
-# enough hits are triggered.
+# enough hits are triggered).
#
# value is stored in acl_c_scr
ports = []
out = "daemon_smtp_ports = "
ports << 25
+if @mail_port # if we have an overridden mail_port
+ ports << @mail_port
+end
if @is_bugsmx
ports << 587
end
-if not scope.lookupvar('deprecated::nodeinfo')['mail_port'].to_s.empty?
- ports << scope.lookupvar('deprecated::nodeinfo')['mail_port']
-end
-
if @is_mailrelay
ports << @smarthost_port
end
accept verify = certificate
<%- end -%>
-<%- unless @smarthost -%>
+<%- unless @use_smarthost -%>
# These are in HELO acl so that they are only run once. They increment a counter,
# so we don't want it to increment per rcpt to.
<%- end -%>
# Defer after too many bad RCPT TO's. Legit MTAs will retry later.
- # This is a rough pass at preventing addres harvesting or other mail blasts.
+ # This is a rough pass at preventing address harvesting or other mail blasts.
defer log_message = Too many bad recipients ${eval:$rcpt_fail_count} out of $rcpt_count
message = Too many bad recipients, try again later
accept local_parts = +postmasterish
domains = +virtual_domains : +bsmtp_domains
-<%- unless @smarthost -%>
+<%- unless @use_smarthost -%>
deny message = host $sender_host_address is listed in $dnslist_domain; see $dnslist_text
dnslists = ${if match_domain{$domain}{+virtual_domains}\
{${if exists {${extract{directory}{VDOMAINDATA}{${value}/rbllist}}}\
domains = +handled_domains
!hosts = +debianhosts : WHITELIST
-<%- unless @smarthost -%>
+<%- unless @use_smarthost -%>
deny domains = +handled_domains
local_parts = ${if match_domain{$domain}{+virtual_domains}\
{${if exists {${extract{directory}{VDOMAINDATA}{${value}/callout_users}}}\
#!!# ACL that is used after the DATA command
check_message:
- # Some people put from hostmaster@something.debian.org in the From
+ # Some people put from postmaster@something.debian.org in the From
# header. Take their crack pipe away.
drop condition = ${if match{${lc:$h_From:}}{\Npostmaster@([^.]+\.)?debian\.org\N}}
transport = remote_smtp
ignore_target_hosts = +reservedaddrs
-<%- if @smarthost -%>
+<%- if @use_smarthost -%>
smarthost:
- debug_print = \"R: smarthost for $local_part@$domain\"
+ debug_print = "R: smarthost for $local_part@$domain"
driver = manualroute
domains = !+handled_domains
transport = remote_smtp_smarthost
router_home_directory = ${lookup passwd{$local_part}{${extract{5}{:}{$value}}}fail}
verify_only
-# This is a senmailesque alias file lookup
+# This is a sendmailesque alias file lookup
virt_aliases:
debug_print = "R: virt_aliases for $local_part@$domain"
driver = redirect
tls_certificate = /etc/exim4/ssl/thishost.crt
tls_privatekey = /etc/exim4/ssl/thishost.key
-<%- if @smarthost -%>
+<%- if @use_smarthost -%>
remote_smtp_smarthost:
debug_print = "T: remote_smtp_smarthost for $local_part@$domain"
driver = smtp
delay_after_cutoff = false
port = <%= @smarthost_port %>
tls_tempfail_tryclear = false
- hosts_require_tls = <%= scope.lookupvar('deprecated::nodeinfo')['smarthost'] %>
+ hosts_require_tls = <%= @smarthost %>
tls_certificate = /etc/exim4/ssl/thishost.crt
tls_privatekey = /etc/exim4/ssl/thishost.key
<%- end -%>