# THIS FILE IS CONTROLLED BY ANSIBLE - DO NOT CHANGE IN DEPLOYMENT! # See /usr/share/postfix/main.cf.dist for a commented, more complete version # Debian specific: Specifying a file name will cause the first # line of that file to be used as the name. The Debian default # is /etc/mailname. #myorigin = /etc/mailname smtpd_banner = $myhostname ESMTP $mail_name (Debian/GNU) biff = no # appending .domain is the MUA's job. append_dot_mydomain = no # Uncomment the next line to generate "delayed mail" warnings #delay_warning_time = 4h readme_directory = /usr/share/doc/postfix # See http://www.postfix.org/COMPATIBILITY_README.html -- default to 2 on # fresh installs. compatibility_level = 2 # TLS smtpd_tls_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem smtpd_tls_key_file=/etc/ssl/private/ssl-cert-snakeoil.key smtpd_tls_security_level = may smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache smtpd_tls_auth_only=yes smtpd_tls_received_header = yes smtp_tls_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem smtp_tls_key_file=/etc/ssl/private/ssl-cert-snakeoil.key smtp_tls_security_level=may smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache smtp_tls_note_starttls_offer = yes # Host names, aliases, networks myhostname = {{ ansible_fqdn }} alias_maps = hash:/etc/aliases alias_database = hash:/etc/aliases mydestination = $myhostname, {{ ansible_hostname }}, {{ ansible_fqdn }}, localhost.{{ ansible_domain }}, localhost relayhost = mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128 {{ mailserver.postfix.mynetworks }} mailbox_size_limit = 0 recipient_delimiter = + inet_interfaces = all inet_protocols = all # Virtual mailboxes virtual_mailbox_domains = pgsql:/etc/postfix/domains.cf virtual_mailbox_maps = pgsql:/etc/postfix/mailboxes.cf virtual_alias_maps = pgsql:/etc/postfix/aliases.cf virtual_mailbox_base = /srv/mailstore virtual_minimum_uid = 5000 virtual_uid_maps = static:5000 virtual_gid_maps = static:5000 # Interaction with dovecot virtual_transport=lmtp:unix:private/dovecot-lmtp smtpd_sasl_type=dovecot smtpd_sasl_path=private/auth smtpd_sasl_auth_enable=yes header_checks = regexp:/etc/postfix/header_checks # relaying relay_domains = pgsql:/etc/postfix/relay_domains.cf relay_recipient_maps = pgsql:/etc/postfix/relay_recipient_maps.cf transport_maps = pgsql:/etc/postfix/transport_maps.cf #smtpd_helo_restrictions = # reject_unknown_helo_hostname smtpd_recipient_restrictions = permit_mynetworks reject_non_fqdn_recipient reject_unknown_recipient_domain reject_unauth_destination check_policy_service inet:127.0.0.1:12480 # 12480: user quota smtpd_relay_restrictions = permit_mynetworks permit_sasl_authenticated reject_non_fqdn_recipient reject_unknown_recipient_domain defer_unauth_destination # rspamd smtpd_milters=inet:127.0.0.1:11332 non_smtpd_milters=inet:127.0.0.1:11332 milter_protocol=6 milter_mail_macros=i {mail_addr} {client_addr} {client_name} {auth_authen} # VERP marking and SRS (sender rewriting scheme) # Envelope sender addresses matching mydomains are marked. # The marker is removed from envelope recipient addresses. canonical_classes = envelope_sender, envelope_recipient, header_recipient sender_canonical_classes = envelope_sender sender_canonical_maps = pgsql:/etc/postfix/sender_canonical_maps.cf recipient_canonical_classes = envelope_recipient, header_recipient recipient_canonical_maps = pgsql:/etc/postfix/recipient_canonical_maps.cf # useful for log analysis enable_long_queue_ids = yes # convenience settings maximal_queue_lifetime = 6w bounce_queue_lifetime = 6w message_size_limit = 20800000 # debugging options (see also http://www.postfix.org/DEBUG_README.html): #debug_peer_list = 127.0.0.1 #smtpd_tls_loglevel = 3 #smtd_tls_loglevel = 3