X-Git-Url: https://git.openstreetmap.org./chef.git/blobdiff_plain/3b34c7718e74b79167c426a52b52f78bcc5ef600..ef193e96760ed795494ffb3812e909c6655dc221:/cookbooks/exim/templates/default/exim4.conf.erb diff --git a/cookbooks/exim/templates/default/exim4.conf.erb b/cookbooks/exim/templates/default/exim4.conf.erb index df725a8ae..635682e2e 100644 --- a/cookbooks/exim/templates/default/exim4.conf.erb +++ b/cookbooks/exim/templates/default/exim4.conf.erb @@ -358,6 +358,17 @@ timeout_frozen_after = 7d trusted_users = <%= node[:exim][:trusted_users].join(" : ") %> +# Do all deliveries via a limited set of queues. + +queue_only = true +queue_run_max = <%= node[:exim][:queue_run_max] %> + + +# Maximum number of simultaneous SMTP connections + +smtp_accept_max = <%= node[:exim][:smtp_accept_max] %> + + ###################################################################### # ACL CONFIGURATION # @@ -435,6 +446,10 @@ acl_check_rcpt: message = Rejected because $sender_address is blacklisted\nQueries to postmaster@$qualify_domain !hosts = +relay_from_hosts + deny sender_domains= partial-lsearch;/etc/exim4/blocked-sender-domains + message = Rejected because $sender_address is blacklisted\nQueries to postmaster@$qualify_domain + !hosts = +relay_from_hosts + # Accept mail to postmaster in any local domain, regardless of the source, # and without verifying the sender. @@ -491,7 +506,11 @@ acl_check_rcpt: # relay domains is to use a callout (add /callout), but please read the # documentation about callouts before doing this. - require verify = recipient + deny domains = +relay_to_domains + !verify = recipient/callout=use_sender + + deny domains = !+relay_to_domains + !verify = recipient <% if node[:exim][:dns_blacklists] -%> # Deny any messages from hosts in certain blacklists. @@ -550,9 +569,13 @@ acl_check_data: !hosts = +relay_from_hosts message = This message failed local spam checks. - # Accept the message. + # Accept messages from relay hosts without modification. - accept + accept hosts = +relay_from_hosts + + # Accept messages from external hosts and add authentication results. + + accept add_header = :at_start:${authresults {$primary_hostname}} @@ -678,7 +701,7 @@ smarthost: dnslookup: driver = dnslookup domains = ! +local_domains - transport = remote_smtp + transport = signed_smtp same_domain_copy_routing = yes ignore_target_hosts = 0.0.0.0 : 127.0.0.0/8 no_more @@ -706,6 +729,21 @@ remote_smtp: tls_require_ciphers = <%= node[:ssl][:gnutls_ciphers] %>:%LATEST_RECORD_VERSION +# This transport is used for delivering DKIM signed messages over SMTP connections. + +signed_smtp: + driver = smtp + connect_timeout = 1m + dkim_domain = ${lookup{${domain:$h_from:}}partial-lsearch{/etc/exim4/dkim-domains}{$value}} + dkim_selector = ${lookup{$dkim_domain}lsearch{/etc/exim4/dkim-selectors}{$value}} + dkim_private_key = /etc/exim4/dkim-keys/${dkim_domain} + dkim_identity = ${lc:${address:$h_from:}} + dkim_timestamps = 1209600 + multi_domain = false + hosts_try_dane = + tls_require_ciphers = <%= node[:ssl][:gnutls_ciphers] %>:%LATEST_RECORD_VERSION + + # This transport is used for handling pipe deliveries generated by alias or # .forward files. If the pipe generates any standard output, it is returned # to the sender of the message as a delivery error. Set return_fail_output @@ -755,7 +793,7 @@ noreply: to = $sender_address subject = Re: $header_subject: headers = MIME-Version: 1.0\nContent-Type: text/plain; charset=utf-8 - file = /etc/exim4/noreply/$local_part + file = ${lookup{$local_part}dsearch,filter=file,ret=full{/etc/exim4/noreply}} user = Debian-exim group = Debian-exim