2019-03-31 00:16:15 +01:00
|
|
|
# needed for postfix 3.4
|
|
|
|
FROM alpine:edge
|
2018-03-08 15:45:31 +01:00
|
|
|
|
|
|
|
RUN apk add --no-cache \
|
2019-03-31 00:16:15 +01:00
|
|
|
ca-certificates \
|
|
|
|
openssl \
|
|
|
|
postfix \
|
|
|
|
postfix-ldap \
|
|
|
|
postfix-pcre
|
2018-03-24 18:52:46 +01:00
|
|
|
|
2018-03-15 16:32:17 +01:00
|
|
|
RUN echo '' > /etc/postfix/main.cf \
|
2018-03-24 18:52:46 +01:00
|
|
|
&& postconf -e myorigin='$mydomain' \
|
2018-03-15 16:32:17 +01:00
|
|
|
&& postconf -e mynetworks='127.0.0.0/8 [::1]/128' \
|
2019-03-31 00:16:15 +01:00
|
|
|
&& postconf -e smtpd_recipient_restrictions=' \
|
|
|
|
reject_non_fqdn_sender, \
|
|
|
|
reject_non_fqdn_recipient, \
|
|
|
|
reject_unknown_sender_domain, \
|
|
|
|
reject_unknown_recipient_domain, \
|
|
|
|
permit_sasl_authenticated, \
|
|
|
|
permit_mynetworks, \
|
|
|
|
reject_unauth_destination, \
|
|
|
|
reject_rbl_client zen.spamhaus.org, \
|
|
|
|
reject_rbl_client ix.dnsbl.manitu.net, \
|
|
|
|
check_policy_service inet:postgrey:25 \
|
|
|
|
reject_unverified_recipient, \
|
|
|
|
permit \
|
|
|
|
' \
|
2018-03-15 16:32:17 +01:00
|
|
|
&& postconf -e recipient_delimiter='+' \
|
|
|
|
&& postconf -e smtpd_banner='$myhostname ESMTP $mail_name' \
|
|
|
|
&& postconf -e smtpd_use_tls='yes' \
|
2019-03-31 00:16:15 +01:00
|
|
|
&& postconf -e smtpd_tls_loglevel='0' \
|
|
|
|
&& postconf -e smtpd_tls_key_file='/tls/privkey' \
|
|
|
|
&& postconf -e smtpd_tls_cert_file='/tls/fullchain' \
|
2018-03-15 16:32:17 +01:00
|
|
|
&& postconf -e smtpd_tls_security_level='may' \
|
|
|
|
&& postconf -e smtpd_tls_auth_only='yes' \
|
|
|
|
&& postconf -e smtpd_tls_mandatory_protocols='!SSLv2,!SSLv3,!TLSv1,!TLSv1.1' \
|
|
|
|
&& postconf -e smtpd_tls_protocols='!SSLv2,!SSLv3,!TLSv1,!TLSv1.1' \
|
2019-03-31 00:16:15 +01:00
|
|
|
&& postconf -e smtpd_tls_mandatory_ciphers='high' \
|
|
|
|
&& postconf -e smtpd_tls_exclude_ciphers='aNULL' \
|
2018-03-15 16:32:17 +01:00
|
|
|
&& postconf -e smtpd_tls_dh1024_param_file='/etc/postfix/dh-params/2048.pem' \
|
|
|
|
&& postconf -e smtpd_tls_eecdh_grade='strong' \
|
2019-03-31 00:16:15 +01:00
|
|
|
&& postconf -e smtp_tls_security_level='may' \
|
|
|
|
&& postconf -e smtp_tls_mandatory_ciphers='medium' \
|
2018-03-15 16:32:17 +01:00
|
|
|
&& postconf -e tls_preempt_cipherlist='yes' \
|
|
|
|
&& postconf -e smtpd_sasl_auth_enable='yes' \
|
|
|
|
&& postconf -e smtpd_sasl_type='dovecot' \
|
|
|
|
&& postconf -e smtpd_sasl_path='inet:dovecot:100' \
|
|
|
|
&& postconf -e virtual_transport='lmtp:[dovecot]' \
|
|
|
|
&& postconf -e virtual_alias_maps='hash:/etc/postfix/virtual' \
|
2019-03-31 00:16:15 +01:00
|
|
|
&& postconf -e virtual_mailbox_maps='ldap:/etc/postfix/virtual_mailbox_maps.cf' \
|
2018-03-24 18:52:46 +01:00
|
|
|
&& postconf -e virtual_mailbox_limit='0' \
|
2018-03-15 16:32:17 +01:00
|
|
|
&& postconf -e disable_vrfy_command='yes' \
|
|
|
|
&& postconf -e enable_long_queue_ids='yes' \
|
2018-03-24 18:52:46 +01:00
|
|
|
&& postconf -e strict_rfc821_envelopes='yes' \
|
2019-03-31 00:16:15 +01:00
|
|
|
&& postconf -e maillog_file='/dev/stdout' \
|
|
|
|
&& newaliases
|
2018-03-08 15:45:31 +01:00
|
|
|
|
2019-03-31 00:16:15 +01:00
|
|
|
RUN cp -r /var/spool/postfix /var/spool/postfix-skel
|
2018-03-08 15:45:31 +01:00
|
|
|
|
2019-03-31 00:16:15 +01:00
|
|
|
COPY master.cf /etc/postfix/
|
|
|
|
COPY smtp_header_checks /etc/postfix/
|
|
|
|
COPY virtual_mailbox_maps.cf /etc/postfix/
|
2018-03-24 18:52:46 +01:00
|
|
|
|
2019-03-31 00:16:15 +01:00
|
|
|
COPY scripts /usr/local/bin/
|
2018-03-08 15:45:31 +01:00
|
|
|
|
2019-03-31 00:16:15 +01:00
|
|
|
ENTRYPOINT ["/usr/local/bin/entrypoint.sh"]
|
2018-03-08 15:45:31 +01:00
|
|
|
|
|
|
|
EXPOSE 25 587
|