summaryrefslogtreecommitdiffstats
path: root/roles/out/templates/etc/postfix/main.cf.j2
blob: ddd46d598b14f2cacfb8d8e7807836c740512b65 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
########################################################################
# Outgoing MTA (outgoing SMTP proxy) 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     = 1d
maximal_queue_lifetime = 5d

myorigin            = /etc/mailname
myhostname          = outgoing{{ outgoingno | default('') }}.$mydomain
mydomain            = fripost.org
append_dot_mydomain = no

# Turn off all TCP/IP listener ports except that necessary for the
# outgoing SMTP proxy.
master_service_disable = !{{ postfix_instance.out.port }}.inet !127.0.0.1:10025.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

mynetworks_style = host
inet_interfaces  = all

# No local delivery
mydestination        =
local_transport      = error:5.1.1 Mailbox unavailable
alias_maps           =
alias_database       =
local_recipient_maps =

message_size_limit  = 0
recipient_delimiter = +

relay_domains       =
relay_transport     = error:5.3.2 Relay Transport unavailable

# All header rewriting happens upstream
local_header_rewrite_clients =


smtp_tls_security_level         = may
smtp_tls_ciphers                = medium
smtp_tls_protocols              = !SSLv2, !SSLv3
smtp_tls_note_starttls_offer    = yes
smtp_tls_session_cache_database = btree:$data_directory/smtp_tls_session_cache

relay_clientcerts               = cdb:$config_directory/relay_clientcerts
smtpd_tls_security_level        = may
smtpd_tls_ciphers               = high
smtpd_tls_protocols             = !SSLv2, !SSLv3, !TLSv1, !TLSv1.1
smtpd_tls_exclude_ciphers       = EXPORT, LOW, MEDIUM, aNULL, eNULL, DES, RC4, MD5
smtpd_tls_cert_file             = /etc/postfix/ssl/{{ ansible_fqdn }}.pem
smtpd_tls_key_file              = /etc/postfix/ssl/{{ ansible_fqdn }}.key
smtpd_tls_dh1024_param_file     = /etc/ssl/dhparams.pem
smtpd_tls_session_cache_database=
smtpd_tls_received_header       = yes
smtpd_tls_ask_ccert             = yes
smtpd_tls_session_cache_timeout = 3600s
smtpd_tls_fingerprint_digest    = sha256


strict_rfc821_envelopes = yes
smtpd_delay_reject      = yes
disable_vrfy_command    = yes

address_verify_sender            = $double_bounce_sender@$mydomain
address_verify_sender_ttl        = 24h
unverified_recipient_defer_code  = 250
unverified_recipient_reject_code = 550

smtpd_client_restrictions =
    permit_mynetworks
    permit_tls_clientcerts
    # We are the only ones using this proxy, but if things go wrong we
    # want to know why
    defer

smtpd_helo_required     = yes
smtpd_helo_restrictions =
    reject_invalid_helo_hostname

smtpd_sender_restrictions =
    reject_non_fqdn_sender

smtpd_relay_restrictions =
    reject_non_fqdn_recipient
    reject_unknown_recipient_domain
    reject_unverified_recipient
    permit_mynetworks
    permit_tls_clientcerts
    reject

smtpd_data_restrictions =
    reject_unauth_pipelining

content_filter = amavisfeed:[127.0.0.1]:10040

# vim: set filetype=pfmain :