From 25f561db6b4add8ffaa99fb25f53dbe34774f7fd Mon Sep 17 00:00:00 2001 From: turboaaa Date: Sun, 17 Feb 2019 12:50:21 -0500 Subject: [PATCH] Convert previous function to using postfix. --- run.sh | 31 ++++++++++++++++++++++--------- 1 file changed, 22 insertions(+), 9 deletions(-) diff --git a/run.sh b/run.sh index 174196d..63fdbd1 100644 --- a/run.sh +++ b/run.sh @@ -2,6 +2,18 @@ [ "${DEBUG}" == "yes" ] && set -x +function add_config_value() { + local key=${1} + local value=${2} + local config_file=${3:-/etc/postfix/main.cf} + [ "${key}" == "" ] && echo "ERROR: No key set !!" && exit 1 + [ "${value}" == "" ] && echo "ERROR: No value set !!" && exit 1 + + echo "Setting configuration option ${key} with value: ${value}" + postconf -e "${key} = ${value}" +} + + [ -z "${SMTP_SERVER}" ] && echo "SMTP_SERVER is not set" && exit 1 [ -z "${SMTP_USERNAME}" ] && echo "SMTP_USERNAME is not set" && exit 1 [ -z "${SMTP_PASSWORD}" ] && echo "SMTP_PASSWORD is not set" && exit 1 @@ -13,15 +25,16 @@ SMTP_PORT="${SMTP_PORT-587}" DOMAIN=`echo ${SERVER_HOSTNAME} |awk -F. '{$1="";OFS="." ; print $0}' | sed 's/^.//'` # Set needed config options -postconf -e "myhostname = ${SERVER_HOSTNAME}" -postconf -e "mydomain = ${DOMAIN}" -postconf -e 'mydestination = $myhostname' -postconf -e 'myorigin = $mydomain' -postconf -e "relayhost = [${SMTP_SERVER}]:${SMTP_PORT}" -postconf -e "smtp_use_tls = yes" -postconf -e "smtp_sasl_auth_enable = yes" -postconf -e "smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd" -postconf -e "smtp_sasl_security_options = noanonymous" +add_config_value "myhostname" ${SERVER_HOSTNAME} +add_config_value "mydomain" ${DOMAIN} +add_config_value "mydestination" '$myhostname' +add_config_value "myorigin" '$mydomain' +add_config_value "relayhost" "[${SMTP_SERVER}]:${SMTP_PORT}" +add_config_value "smtp_use_tls" "yes" +add_config_value "smtp_sasl_auth_enable" "yes" +add_config_value "smtp_sasl_password_maps" "hash:\/etc\/postfix\/sasl_passwd" +add_config_value "smtp_sasl_security_options" "noanonymous" + # Create sasl_passwd file with auth credentials if [ ! -f /etc/postfix/sasl_passwd ]; then