From b68154e6a5f3d2ba67c572d61acce16e7f4691f6 Mon Sep 17 00:00:00 2001 From: myve Date: Fri, 10 Jan 2025 21:12:38 +0000 Subject: [PATCH] Update build/run/docker-entrypoint/init.d/30-postfix.sh --- .../docker-entrypoint/init.d/30-postfix.sh | 55 ++++++++++++++----- 1 file changed, 41 insertions(+), 14 deletions(-) diff --git a/build/run/docker-entrypoint/init.d/30-postfix.sh b/build/run/docker-entrypoint/init.d/30-postfix.sh index 5c28570..fcce5c8 100755 --- a/build/run/docker-entrypoint/init.d/30-postfix.sh +++ b/build/run/docker-entrypoint/init.d/30-postfix.sh @@ -30,32 +30,54 @@ then done fi -# Whitelist +# Whitelist Primary and Backup mail servers addmx=(${MYVEMAIL_DOMAIN}) addmx+=(${MYVEMAIL_ADDMX//,/ }) -echo | tee /etc/postfix/{helo_access,whitelist_incoming,blacklist_incoming} >/dev/null +echo -n | tee /etc/postfix/{helo_access,whitelist_{domains,emails},blacklist_{domains,emails}} >/dev/null for domain in ${addmx[@]} do - echo "${domain} OK Primary and backup mail servers" | tee -a /etc/postfix/{helo_access,whitelist_incoming} >/dev/null + echo "${domain} OK Primary and backup mail servers" | tee -a /etc/postfix/helo_access >/dev/null + echo "/${domain}/ OK Primary and backup mail servers" | tee -a /etc/postfix/whitelisted_domains >/dev/null done -if [ ${MYVEMAIL_WHITELIST} ] +# Whitelist domains or server IP addresses +if [ ${MYVEMAIL_WHITELIST_DOMAINS} ] then - echo >>/etc/postfix/whitelist_incoming - addwhitelist+=(${MYVEMAIL_WHITELIST//,/ }) - for whitelist in ${addwhitelist[@]} + echo >>/etc/postfix/whitelisted_domains + addwhitelist_domain+=(${MYVEMAIL_WHITELIST_DOMAINS//,/ }) + for whitelist_domain in ${addwhitelist_domain[@]} do - echo "${whitelist} OK Whitelisted address" | tee -a /etc/postfix/whitelist_incoming >/dev/null + echo "/${whitelist_domain}/ OK Whitelisted domain" | tee -a /etc/postfix/whitelisted_domains >/dev/null done fi -# Blacklist -if [ ${MYVEMAIL_BLACKLIST} ] +# Whitelist emails +if [ ${MYVEMAIL_WHITELIST_EMAILS} ] then - addblacklist+=(${MYVEMAIL_BLACKLIST//,/ }) - for blacklist in ${addblacklist[@]} + addwhitelist_email+=(${MYVEMAIL_WHITELIST_EMAILS//,/ }) + for whitelist_email in ${addwhitelist_email[@]} do - echo "${blacklist} REJECT Blacklisted address" | tee -a /etc/postfix/blacklist_incoming >/dev/null + echo "${whitelist_email} OK Whitelisted email" | tee -a /etc/postfix/whitelisted_emails >/dev/null + done +fi + +# Blacklist domains or server IP addresses +if [ ${MYVEMAIL_BLACKLIST_DOMAINS} ] +then + addblacklist_domain+=(${MYVEMAIL_BLACKLIST_DOMAINS//,/ }) + for blacklist_domain in ${addblacklist_domain[@]} + do + echo "/${blacklist_domain}/ OK Blacklisted domain" | tee -a /etc/postfix/blacklisted_domains >/dev/null + done +fi + +# Blacklist emails +if [ ${MYVEMAIL_BLACKLIST_EMAILS} ] +then + addblacklist_email+=(${MYVEMAIL_BLACKLIST_EMAILS//,/ }) + for blacklist_email in ${addblacklist_email[@]} + do + echo "${blacklist_email} OK Blacklisted email" | tee -a /etc/postfix/blacklisted_emails >/dev/null done fi @@ -70,4 +92,9 @@ setfacl -R -m u:postfix:rx /etc/postfix/sql/ # Start postfix postfix start -postmap /etc/postfix/helo_access /etc/postfix/whitelist_incoming /etc/postfix/blacklist_incoming /etc/postfix/smtp_header_checks /etc/postfix/header_checks /etc/postfix/body_checks /etc/postfix/postscreen_access.cidr \ No newline at end of file +postmap /etc/postfix/helo_access \ + /etc/postfix/whitelisted_domains /etc/postfix/whitelisted_emails \ + /etc/postfix/blacklisted_domains /etc/postfix/blacklisted_emails \ + /etc/postfix/smtp_header_checks /etc/postfix/header_checks \ + /etc/postfix/body_checks \ + /etc/postfix/postscreen_access.cidr \ No newline at end of file