diff options
Diffstat (limited to 'roles/MX/templates/etc/postfix/main.cf.j2')
-rw-r--r-- | roles/MX/templates/etc/postfix/main.cf.j2 | 27 |
1 files changed, 13 insertions, 14 deletions
diff --git a/roles/MX/templates/etc/postfix/main.cf.j2 b/roles/MX/templates/etc/postfix/main.cf.j2 index d301aaf..c0da5e7 100644 --- a/roles/MX/templates/etc/postfix/main.cf.j2 +++ b/roles/MX/templates/etc/postfix/main.cf.j2 @@ -2,91 +2,90 @@ # MX configuration # # {{ ansible_managed }} # Do NOT edit this file directly! smtpd_banner = $myhostname ESMTP $mail_name (Debian/GNU) biff = no readme_directory = no mail_owner = postfix delay_warning_time = 4h maximal_queue_lifetime = 5d myorigin = /etc/mailname myhostname = mx{{ mxno | default('') }}.$mydomain mydomain = {{ ansible_domain }} append_dot_mydomain = no # Turn off all TCP/IP listener ports except that necessary for the mail # exchange. -master_service_disable = !smtp.inet inet +master_service_disable = !smtp.inet !127.0.0.1:2599.inet inet queue_directory = /var/spool/postfix-{{ postfix_instance[inst].name }} data_directory = /var/lib/postfix-{{ postfix_instance[inst].name }} multi_instance_group = {{ postfix_instance[inst].group | default('') }} multi_instance_name = postfix-{{ postfix_instance[inst].name }} multi_instance_enable = yes # This server is a Mail eXchange mynetworks_style = host inet_interfaces = all inet_protocols = all # No local delivery mydestination = local_transport = error:5.1.1 Mailbox unavailable alias_maps = alias_database = local_recipient_maps = message_size_limit = 67108864 recipient_delimiter = + # Forward everything to our internal mailhub {% if 'MTA-out' in group_names %} relayhost = [127.0.0.1]:{{ MTA_out.port }} {% else %} relayhost = [{{ MTA_out.IPv4 }}]:{{ MTA_out.port }} {% endif %} relay_domains = # Virtual transport {% if 'LDA' in group_names %} -virtual_transport = smtp:[127.0.0.1]:{{ LDA.port }} +virtual_transport = smtpl:[127.0.0.1]:{{ LDA.port }} {% else %} -virtual_transport = smtp:[{{ LDA.IPv4 }}]:{{ LDA.port }} +virtual_transport = smtps:[{{ LDA.host }}]:{{ LDA.port }} {% endif %} -transport_maps = ldap:$config_directory/virtual/transport_lists_maps.cf +# It's a bit stupid to include part of the virtual_mailbox_maps here, +# but we need to tell postfix to accept the recipient +# (virtual_mailbox_maps) *before* sending away to the right machine +# (transport_maps) +transport_maps = pcre:$config_directory/virtual/transport_reserved_maps.pcre + ldap:$config_directory/virtual/transport_mailbox_maps.cf + ldap:$config_directory/virtual/transport_lists_maps.cf + ldap:$config_directory/virtual/transport_catchall_maps.cf virtual_mailbox_domains = ldap:$config_directory/virtual/mailbox_domains.cf -virtual_alias_maps = pcre:$config_directory/virtual/reserved_maps.pcre +virtual_alias_maps = cdb:$config_directory/virtual/reserved_alias_maps ldap:$config_directory/virtual/alias_maps.cf - ldap:$config_directory/virtual/alias_catchall_maps.cf -virtual_mailbox_maps = ldap:$config_directory/virtual/mailbox_maps.cf - # it's a bit stupid to lookup for lists here - # and in transport, but we need to tell - # postfix to accept the recipient - # (virtual_mailbox_maps) *before* sending away - # to the list server (transport_maps) - ldap:$config_directory/virtual/transport_lists_maps.cf -mailbox_transport_maps = cdb:$config_directory/virtual/reserved_transport_maps +virtual_mailbox_maps = $transport_maps # Don't rewrite remote headers local_header_rewrite_clients = # Pass the client information along to the content filter smtp_send_xforward_command = yes # Avoid splitting the envelope and scanning messages multiple times smtp_destination_recipient_limit = 1000 # Tolerate occasional high latency smtp_data_done_timeout = 1200s # Tunnel everything through IPSec smtp_tls_security_level = none smtp_bind_address = 172.16.0.1 # TLS smtpd_tls_security_level = may smtpd_tls_cert_file = /etc/ssl/certs/ssl-cert-snakeoil.pem smtpd_tls_key_file = /etc/ssl/private/ssl-cert-snakeoil.key smtpd_tls_CApath = /etc/ssl/certs/ smtpd_tls_session_cache_database= btree:$data_directory/smtpd_tls_session_cache |