#!/bin/sh set -eu # Misc default variables. : "${POSTFIX_SMTPD_BANNER:=\$myhostname ESMTP \$mail_name (\$mail_version)}" : "${POSTFIX_BIFF:=no}" : "${POSTFIX_MAILLOG_FILE:=/dev/stdout}" : "${POSTFIX_DEBUG_PEER_LEVEL:=1}" : "${POSTFIX_COMPATIBILITY_LEVEL:=3.6}" : "${POSTFIX_APPEND_DOT_MYDOMAIN:=no}" : "${POSTFIX_README_DIRECTORY:=no}" : "${POSTFIX_MAILBOX_COMMAND:=procmail -a \"\$EXTENSION\"}" : "${POSTFIX_MAILBOX_SIZE_LIMIT:=0}" : "${POSTFIX_RECIPIENT_DELIMITER:=+}" # Service default variables. : "${POSTFIX_SUBMISSION_ENABLED:=yes}" : "${POSTFIX_SMTP_ENABLED:=yes}" : "${POSTFIX_SMTPS_ENABLED:=yes}" : "${POSTFIX_SUBMISSION_TLS_SECURITY_LEVEL:=encrypt}" : "${POSTFIX_SMTPS_TLS_WRAPPERMODE:=yes}" # TLS default variables. : "${POSTFIX_SMTPD_TLS_SECURITY_LEVEL:=may}" : "${POSTFIX_SMTPD_TLS_AUTH_ONLY:=yes}" : "${POSTFIX_SMTPD_TLS_CERT_FILE:=/etc/ssl/certs/ssl-cert-snakeoil.pem}" : "${POSTFIX_SMTPD_TLS_KEY_FILE:=/etc/ssl/private/ssl-cert-snakeoil.key}" : "${POSTFIX_SMTP_TLS_CAPATH:=/etc/ssl/certs}" : "${POSTFIX_SMTP_TLS_SECURITY_LEVEL:=encrypt}" : "${POSTFIX_SMTP_TLS_SESSION_CACHE_DATABASE:=btree:\$data_directory/smtp_scache}" # Hostname default variables. : "${POSTFIX_MYHOSTNAME:=$(hostname --fqdn 2>/dev/null || hostname)}" : "${POSTFIX_MYDOMAIN:=${POSTFIX_MYHOSTNAME}}" # Allowed networks default variables. : "${POSTFIX_MYNETWORKS:=127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128 192.168.0.0/16 172.16.0.0/12 10.0.0.0/8}" # Network configuration default variables. : "${POSTFIX_INET_INTERFACES:=all}" : "${POSTFIX_INET_PROTOCOLS:=all}" # Restrictions default variables. : "${POSTFIX_SMTPD_RELAY_RESTRICTIONS:=permit_mynetworks, defer_unauth_destination}" : "${POSTFIX_SMTPD_RECIPIENT_RESTRICTIONS:=permit_mynetworks, reject_unauth_destination}" # Other default variables. : "${POSTFIX_RELAYHOST:=}" : "${POSTFIX_MYDESTINATION:=\$myhostname, localhost.\$mydomain, localhost, \$mydomain}" : "${POSTFIX_MILTER_PROTOCOL:=6}" : "${POSTFIX_MILTER_DEFAULT_ACTION:=accept}" : "${POSTFIX_RELAY_SMTP_HELO_TIMEOUT:=5}" : "${POSTFIX_RELAY_SMTP_CONNECT_TIMEOUT:=5}" # DKIM milters default variables. : "${POSTFIX_SMTPD_MILTERS:=}" : "${POSTFIX_NON_SMTPD_MILTERS:=}" # Create necessary directories. mkdir -p \ /var/spool/postfix \ /var/spool/postfix/pid \ /var/spool/postfix/public \ /var/spool/postfix/maildrop \ /var/spool/postfix/etc \ /var/lib/postfix \ /var/mail \ /etc/postfix cat > /etc/postfix/master.cf <<'EOF' # ========================================================================== # service type private unpriv chroot wakeup maxproc command + args # (yes) (yes) (no) (never) (100) # ========================================================================== EOF # SMTP configuration. if [ "${POSTFIX_SMTP_ENABLED}" = "yes" ]; then cat >> /etc/postfix/master.cf <<'EOF' smtp inet n - y - - smtpd -o syslog_name=postfix/smtp EOF fi # Submission configuration. if [ "${POSTFIX_SUBMISSION_ENABLED}" = "yes" ]; then cat >> /etc/postfix/master.cf <> /etc/postfix/master.cf <> /etc/postfix/master.cf <