2019-09-03 00:39:08 +08:00
|
|
|
# --------------------------------------------------------------------------
|
|
|
|
# Please create a file "extra.cf" for persistent overrides to main.cf
|
|
|
|
# --------------------------------------------------------------------------
|
2016-12-10 03:39:02 +08:00
|
|
|
biff = no
|
|
|
|
append_dot_mydomain = no
|
2016-12-13 04:53:58 +08:00
|
|
|
smtpd_tls_cert_file = /etc/ssl/mail/cert.pem
|
|
|
|
smtpd_tls_key_file = /etc/ssl/mail/key.pem
|
2019-10-19 18:48:56 +08:00
|
|
|
tls_server_sni_maps = hash:/opt/postfix/conf/sni.map
|
2020-05-01 00:22:21 +08:00
|
|
|
smtpd_use_tls = yes
|
2018-04-26 20:06:10 +08:00
|
|
|
smtpd_tls_received_header = yes
|
2016-12-10 03:39:02 +08:00
|
|
|
smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
|
|
|
|
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache
|
2019-09-02 15:31:26 +08:00
|
|
|
smtpd_relay_restrictions = permit_mynetworks,
|
|
|
|
permit_sasl_authenticated,
|
|
|
|
defer_unauth_destination
|
|
|
|
# alias maps are auto-generated in postfix.sh on startup
|
2016-12-10 03:39:02 +08:00
|
|
|
alias_maps = hash:/etc/aliases
|
|
|
|
alias_database = hash:/etc/aliases
|
|
|
|
relayhost =
|
2018-01-28 01:13:35 +08:00
|
|
|
mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128 10.0.0.0/8 172.16.0.0/12 192.168.0.0/16 [fe80::]/10 [fc00::]/7
|
2016-12-10 03:39:02 +08:00
|
|
|
mailbox_size_limit = 0
|
|
|
|
recipient_delimiter = +
|
|
|
|
inet_interfaces = all
|
|
|
|
inet_protocols = all
|
|
|
|
bounce_queue_lifetime = 1d
|
|
|
|
broken_sasl_auth_clients = yes
|
|
|
|
disable_vrfy_command = yes
|
|
|
|
maximal_backoff_time = 1800s
|
2019-06-08 21:10:46 +08:00
|
|
|
maximal_queue_lifetime = 5d
|
2019-06-09 13:39:36 +08:00
|
|
|
delay_warning_time = 4h
|
2018-10-02 04:06:20 +08:00
|
|
|
message_size_limit = 104857600
|
2016-12-10 03:39:02 +08:00
|
|
|
milter_default_action = accept
|
|
|
|
milter_protocol = 6
|
|
|
|
minimal_backoff_time = 300s
|
|
|
|
plaintext_reject_code = 550
|
2019-09-02 15:31:26 +08:00
|
|
|
postscreen_access_list = permit_mynetworks,
|
2020-02-06 15:28:05 +08:00
|
|
|
cidr:/opt/postfix/conf/custom_postscreen_whitelist.cidr,
|
2019-09-02 15:31:26 +08:00
|
|
|
cidr:/opt/postfix/conf/postscreen_access.cidr,
|
|
|
|
tcp:127.0.0.1:10027
|
2016-12-10 03:39:02 +08:00
|
|
|
postscreen_bare_newline_enable = no
|
|
|
|
postscreen_blacklist_action = drop
|
|
|
|
postscreen_cache_cleanup_interval = 24h
|
|
|
|
postscreen_cache_map = proxy:btree:$data_directory/postscreen_cache
|
|
|
|
postscreen_dnsbl_action = enforce
|
2019-08-17 04:17:28 +08:00
|
|
|
postscreen_dnsbl_sites = wl.mailspike.net=127.0.0.[18;19;20]*-2
|
|
|
|
hostkarma.junkemailfilter.com=127.0.0.1*-2
|
|
|
|
list.dnswl.org=127.0.[0..255].0*-2
|
|
|
|
list.dnswl.org=127.0.[0..255].1*-4
|
|
|
|
list.dnswl.org=127.0.[0..255].2*-6
|
|
|
|
list.dnswl.org=127.0.[0..255].3*-8
|
|
|
|
ix.dnsbl.manitu.net*2
|
|
|
|
bl.spamcop.net*2
|
2019-12-06 23:15:04 +08:00
|
|
|
bl.suomispam.net*2
|
2019-09-18 13:58:54 +08:00
|
|
|
hostkarma.junkemailfilter.com=127.0.0.2*3
|
|
|
|
hostkarma.junkemailfilter.com=127.0.0.4*2
|
2019-08-17 04:17:28 +08:00
|
|
|
hostkarma.junkemailfilter.com=127.0.1.2*1
|
|
|
|
backscatter.spameatingmonkey.net*2
|
|
|
|
bl.ipv6.spameatingmonkey.net*2
|
|
|
|
bl.spameatingmonkey.net*2
|
|
|
|
b.barracudacentral.org=127.0.0.2*7
|
2019-08-16 13:55:17 +08:00
|
|
|
bl.mailspike.net=127.0.0.2*5
|
|
|
|
bl.mailspike.net=127.0.0.[10;11;12]*4
|
|
|
|
dnsbl.sorbs.net=127.0.0.10*8
|
|
|
|
dnsbl.sorbs.net=127.0.0.5*6
|
|
|
|
dnsbl.sorbs.net=127.0.0.7*3
|
|
|
|
dnsbl.sorbs.net=127.0.0.8*2
|
|
|
|
dnsbl.sorbs.net=127.0.0.6*2
|
|
|
|
dnsbl.sorbs.net=127.0.0.9*2
|
|
|
|
zen.spamhaus.org=127.0.0.[10;11]*8
|
|
|
|
zen.spamhaus.org=127.0.0.[4..7]*6
|
|
|
|
zen.spamhaus.org=127.0.0.3*4
|
|
|
|
zen.spamhaus.org=127.0.0.2*3
|
2019-09-18 13:58:54 +08:00
|
|
|
postscreen_dnsbl_threshold = 6
|
2016-12-10 03:39:02 +08:00
|
|
|
postscreen_dnsbl_ttl = 5m
|
|
|
|
postscreen_greet_action = enforce
|
|
|
|
postscreen_greet_banner = $smtpd_banner
|
|
|
|
postscreen_greet_ttl = 2d
|
|
|
|
postscreen_greet_wait = 3s
|
|
|
|
postscreen_non_smtp_command_enable = no
|
|
|
|
postscreen_pipelining_enable = no
|
2019-06-09 22:49:02 +08:00
|
|
|
proxy_read_maps = proxy:mysql:/opt/postfix/conf/sql/mysql_sasl_passwd_maps_transport_maps.cf,
|
2017-11-19 22:13:43 +08:00
|
|
|
proxy:mysql:/opt/postfix/conf/sql/mysql_tls_enforce_in_policy.cf,
|
2019-06-09 22:49:02 +08:00
|
|
|
$sender_dependent_default_transport_maps,
|
|
|
|
$smtp_tls_policy_maps,
|
2017-11-19 22:13:43 +08:00
|
|
|
$local_recipient_maps,
|
|
|
|
$mydestination,
|
|
|
|
$virtual_alias_maps,
|
|
|
|
$virtual_alias_domains,
|
|
|
|
$virtual_mailbox_maps,
|
|
|
|
$virtual_mailbox_domains,
|
|
|
|
$relay_recipient_maps,
|
|
|
|
$relay_domains,
|
|
|
|
$canonical_maps,
|
|
|
|
$sender_canonical_maps,
|
2019-06-09 22:49:02 +08:00
|
|
|
$sender_bcc_maps,
|
|
|
|
$recipient_bcc_maps,
|
2017-11-19 22:13:43 +08:00
|
|
|
$recipient_canonical_maps,
|
|
|
|
$relocated_maps,
|
|
|
|
$transport_maps,
|
|
|
|
$mynetworks,
|
2019-06-09 22:49:02 +08:00
|
|
|
$smtpd_sender_login_maps,
|
|
|
|
$smtp_sasl_password_maps
|
2016-12-10 03:39:02 +08:00
|
|
|
queue_run_delay = 300s
|
2016-12-19 05:24:22 +08:00
|
|
|
relay_domains = proxy:mysql:/opt/postfix/conf/sql/mysql_virtual_relay_domain_maps.cf
|
2016-12-10 03:39:02 +08:00
|
|
|
relay_recipient_maps = proxy:mysql:/opt/postfix/conf/sql/mysql_relay_recipient_maps.cf
|
2017-07-23 02:39:54 +08:00
|
|
|
sender_dependent_default_transport_maps = proxy:mysql:/opt/postfix/conf/sql/mysql_sender_dependent_default_transport_maps.cf
|
2016-12-10 03:39:02 +08:00
|
|
|
smtp_tls_CAfile = /etc/ssl/certs/ca-certificates.crt
|
2020-01-05 18:20:55 +08:00
|
|
|
smtpd_tls_CAfile = /etc/ssl/certs/ca-certificates.crt
|
2016-12-13 04:53:58 +08:00
|
|
|
smtp_tls_cert_file = /etc/ssl/mail/cert.pem
|
|
|
|
smtp_tls_key_file = /etc/ssl/mail/key.pem
|
2016-12-10 03:39:02 +08:00
|
|
|
smtp_tls_loglevel = 1
|
2016-12-12 01:58:29 +08:00
|
|
|
smtp_dns_support_level = dnssec
|
|
|
|
smtp_tls_security_level = dane
|
2016-12-10 03:39:02 +08:00
|
|
|
smtpd_data_restrictions = reject_unauth_pipelining, permit
|
|
|
|
smtpd_delay_reject = yes
|
|
|
|
smtpd_error_sleep_time = 10s
|
|
|
|
smtpd_hard_error_limit = ${stress?1}${stress:5}
|
|
|
|
smtpd_helo_required = yes
|
|
|
|
smtpd_proxy_timeout = 600s
|
2019-09-02 15:31:26 +08:00
|
|
|
smtpd_recipient_restrictions = permit_sasl_authenticated,
|
|
|
|
permit_mynetworks,
|
|
|
|
check_recipient_access proxy:mysql:/opt/postfix/conf/sql/mysql_tls_enforce_in_policy.cf,
|
|
|
|
reject_invalid_helo_hostname,
|
|
|
|
reject_unauth_destination
|
2016-12-10 03:39:02 +08:00
|
|
|
smtpd_sasl_auth_enable = yes
|
|
|
|
smtpd_sasl_authenticated_header = yes
|
|
|
|
smtpd_sasl_path = inet:dovecot:10001
|
|
|
|
smtpd_sasl_type = dovecot
|
|
|
|
smtpd_sender_login_maps = proxy:mysql:/opt/postfix/conf/sql/mysql_virtual_sender_acl.cf
|
2019-09-02 15:31:26 +08:00
|
|
|
smtpd_sender_restrictions = reject_authenticated_sender_login_mismatch,
|
|
|
|
permit_mynetworks,
|
|
|
|
permit_sasl_authenticated,
|
|
|
|
reject_unlisted_sender,
|
|
|
|
reject_unknown_sender_domain
|
2016-12-10 03:39:02 +08:00
|
|
|
smtpd_soft_error_limit = 3
|
|
|
|
smtpd_tls_auth_only = yes
|
|
|
|
smtpd_tls_dh1024_param_file = /etc/ssl/mail/dhparams.pem
|
2018-07-12 04:10:32 +08:00
|
|
|
smtpd_tls_eecdh_grade = auto
|
2018-06-26 04:31:23 +08:00
|
|
|
smtpd_tls_exclude_ciphers = ECDHE-RSA-RC4-SHA, RC4, aNULL, DES-CBC3-SHA, ECDHE-RSA-DES-CBC3-SHA, EDH-RSA-DES-CBC3-SHA
|
2016-12-10 03:39:02 +08:00
|
|
|
smtpd_tls_loglevel = 1
|
2019-03-03 19:11:39 +08:00
|
|
|
|
2019-08-17 04:17:28 +08:00
|
|
|
# Mandatory protocols and ciphers are used when a connections is enforced to use TLS
|
|
|
|
# Does _not_ apply to enforced incoming TLS settings per mailbox
|
2019-03-03 19:09:10 +08:00
|
|
|
smtp_tls_mandatory_protocols = !SSLv2, !SSLv3, !TLSv1, !TLSv1.1
|
|
|
|
lmtp_tls_mandatory_protocols = !SSLv2, !SSLv3, !TLSv1, !TLSv1.1
|
2019-03-03 19:11:39 +08:00
|
|
|
smtpd_tls_mandatory_protocols = !SSLv2, !SSLv3, !TLSv1, !TLSv1.1
|
2019-08-17 04:17:28 +08:00
|
|
|
smtpd_tls_mandatory_ciphers = high
|
|
|
|
|
|
|
|
smtp_tls_protocols = !SSLv2, !SSLv3
|
|
|
|
lmtp_tls_protocols = !SSLv2, !SSLv3, !TLSv1, !TLSv1.1
|
2016-12-10 03:39:02 +08:00
|
|
|
smtpd_tls_protocols = !SSLv2, !SSLv3
|
2019-03-03 19:11:39 +08:00
|
|
|
|
2016-12-10 03:39:02 +08:00
|
|
|
smtpd_tls_security_level = may
|
2018-10-26 05:37:25 +08:00
|
|
|
tls_preempt_cipherlist = yes
|
2019-09-22 23:38:03 +08:00
|
|
|
tls_ssl_options = NO_COMPRESSION, NO_RENEGOTIATION
|
2017-11-19 22:13:43 +08:00
|
|
|
virtual_alias_maps = proxy:mysql:/opt/postfix/conf/sql/mysql_virtual_alias_maps.cf,
|
2019-06-09 22:49:02 +08:00
|
|
|
proxy:mysql:/opt/postfix/conf/sql/mysql_virtual_resource_maps.cf,
|
2017-11-19 22:13:43 +08:00
|
|
|
proxy:mysql:/opt/postfix/conf/sql/mysql_virtual_spamalias_maps.cf,
|
2019-07-13 14:59:32 +08:00
|
|
|
proxy:mysql:/opt/postfix/conf/sql/mysql_virtual_alias_domain_maps.cf
|
2016-12-10 03:39:02 +08:00
|
|
|
virtual_gid_maps = static:5000
|
|
|
|
virtual_mailbox_base = /var/vmail/
|
|
|
|
virtual_mailbox_domains = proxy:mysql:/opt/postfix/conf/sql/mysql_virtual_domains_maps.cf
|
2017-11-19 22:13:43 +08:00
|
|
|
recipient_bcc_maps = proxy:mysql:/opt/postfix/conf/sql/mysql_recipient_bcc_maps.cf
|
|
|
|
sender_bcc_maps = proxy:mysql:/opt/postfix/conf/sql/mysql_sender_bcc_maps.cf
|
2018-01-24 02:59:06 +08:00
|
|
|
recipient_canonical_maps = proxy:mysql:/opt/postfix/conf/sql/mysql_recipient_canonical_maps.cf
|
|
|
|
recipient_canonical_classes = envelope_recipient
|
2017-03-02 00:59:46 +08:00
|
|
|
virtual_mailbox_maps = proxy:mysql:/opt/postfix/conf/sql/mysql_virtual_mailbox_maps.cf
|
2016-12-10 03:39:02 +08:00
|
|
|
virtual_minimum_uid = 104
|
|
|
|
virtual_transport = lmtp:inet:dovecot:24
|
|
|
|
virtual_uid_maps = static:5000
|
2017-06-07 03:59:44 +08:00
|
|
|
smtpd_milters = inet:rspamd:9900
|
|
|
|
non_smtpd_milters = inet:rspamd:9900
|
2016-12-10 03:39:02 +08:00
|
|
|
milter_mail_macros = i {mail_addr} {client_addr} {client_name} {auth_authen}
|
2017-01-23 15:23:59 +08:00
|
|
|
mydestination = localhost.localdomain, localhost
|
2017-06-19 16:39:14 +08:00
|
|
|
# Prefere IPv4, useful for v4-only envs
|
|
|
|
smtp_address_preference = ipv4
|
2017-07-23 02:39:54 +08:00
|
|
|
smtp_sender_dependent_authentication = yes
|
|
|
|
smtp_sasl_auth_enable = yes
|
2018-12-19 16:39:35 +08:00
|
|
|
smtp_sasl_password_maps = proxy:mysql:/opt/postfix/conf/sql/mysql_sasl_passwd_maps_sender_dependent.cf
|
2019-10-19 18:48:56 +08:00
|
|
|
smtp_sasl_security_options =
|
2017-07-23 02:39:54 +08:00
|
|
|
smtp_sasl_mechanism_filter = plain, login
|
2020-05-01 00:22:21 +08:00
|
|
|
smtp_tls_policy_maps = proxy:mysql:/opt/postfix/conf/sql/mysql_tls_policy_override_maps.cf
|
2018-10-24 04:57:38 +08:00
|
|
|
smtp_header_checks = pcre:/opt/postfix/conf/anonymize_headers.pcre
|
2018-10-16 16:26:41 +08:00
|
|
|
mail_name = Postcow
|
2019-09-02 15:31:26 +08:00
|
|
|
# local_transport map catches local destinations and prevents routing local dests when the next map would route "*"
|
2019-11-13 03:50:21 +08:00
|
|
|
# Use custom_transport.pcre for custom transports
|
2019-11-13 03:44:43 +08:00
|
|
|
transport_maps = pcre:/opt/postfix/conf/custom_transport.pcre,
|
|
|
|
pcre:/opt/postfix/conf/local_transport,
|
2020-04-04 02:39:53 +08:00
|
|
|
proxy:mysql:/opt/postfix/conf/sql/mysql_relay_ne.cf,
|
2019-09-02 15:31:26 +08:00
|
|
|
proxy:mysql:/opt/postfix/conf/sql/mysql_transport_maps.cf
|
2018-12-19 16:39:35 +08:00
|
|
|
smtp_sasl_auth_soft_bounce = no
|
2019-05-28 01:32:41 +08:00
|
|
|
postscreen_discard_ehlo_keywords = silent-discard, dsn
|
2019-07-13 20:44:17 +08:00
|
|
|
compatibility_level = 2
|
2019-11-24 21:18:27 +08:00
|
|
|
smtputf8_enable = yes
|
|
|
|
# Define protocols for SMTPS and submission service
|
2020-02-12 17:36:54 +08:00
|
|
|
submission_smtpd_tls_mandatory_protocols = !SSLv2, !SSLv3, !TLSv1, !TLSv1.1
|
|
|
|
smtps_smtpd_tls_mandatory_protocols = !SSLv2, !SSLv3, !TLSv1, !TLSv1.1
|
|
|
|
|
2019-09-03 00:39:08 +08:00
|
|
|
# DO NOT EDIT ANYTHING BELOW #
|
|
|
|
# User overrides #
|
|
|
|
|