ansible-mailserver-debian/mail_system/templates/postfix/main.cf
2022-04-25 20:10:40 +02:00

130 lines
3.7 KiB
CFEngine3

# 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