install_amavis.sh,install_postfix_advanced.sh: support additional smtp port in case of relay host.

This commit is contained in:
Christoph 2025-01-27 18:50:01 +01:00
parent ee41a335b1
commit 7b6e4c36d0
2 changed files with 93 additions and 1 deletions

View File

@ -5034,6 +5034,12 @@ if grep -iq -E "^amavisfeed\s+" $postfix_master_cf > /dev/null 2>&1 ; then
else
amavisfeed_present=false
fi
if grep -iq -E "^[0-9]{2,5}\s+inet.*smtpd" $postfix_master_cf > /dev/null 2>&1 ; then
listen_on_additional_smtp_port=true
additional_smtp_port="$(grep -E "^[0-9]{2,5}\s+inet.*smtpd" /etc/postfix/master.cf | grep -o -E "^[0-9]{2,5}")"
else
listen_on_additional_smtp_port=false
fi
> $postfix_master_cf
while IFS='' read -r _line || [[ -n $_line ]] ; do
@ -5051,6 +5057,19 @@ EOF
EOF
fi
if ${listen_on_additional_smtp_port} ; then
cat >> $postfix_master_cf << EOF
${additional_smtp_port} inet n - y - - smtpd
-o smtpd_proxy_filter=127.0.0.1:10024
-o content_filter=
EOF
if [[ "$SASL_AUTH_ENABLED" = "no" ]] ; then
cat >> $postfix_master_cf << EOF
-o smtpd_sasl_auth_enable=no
EOF
fi
fi
if ! $submission_present && ! $smtps_present && ! $localhost_10025_present ; then
cat >> $postfix_master_cf << EOF
localhost:10025 inet n - y - - smtpd
@ -5305,6 +5324,13 @@ else
fi
fi
if ${listen_on_additional_smtp_port}: then
echo ""
warn "Please do not forget to allow incomming traffic on port \033[1m${additional_smtp_port}\033[m.
Check your firewall settings.."
fi
#fi # if $ommit ; then
# -------------------------------

View File

@ -125,9 +125,12 @@ trap clean_up SIGHUP SIGINT SIGTERM
# -
DEFAULT_ADMIN_EMAIL="argus@oopen.de"
DEFAULT_IS_RELAY_HOST=false
DEFAULT_ADDITIONAL_RELAY_PORT=2525
DEFAULT_IS_SYMPA_LIST_SERVER=no
DEFAULT_SASL_AUTH_ENABLED=no
DEFAULT_LISTEN_ON_ADDITIONAL_RELAY_PORT=false
# - Is this a systemd system?
# -
@ -167,6 +170,10 @@ else
_IS_RELAY_HOST="$_RELAY_HOST"
fi
if [[ -z "$_LISTEN_ON_ADDITIONAL_RELAY_PORT" ]] ; then
_LISTEN_ON_ADDITIONAL_RELAY_PORT=${DEFAULT_LISTEN_ON_ADDITIONAL_RELAY_PORT}
fi
echo ""
echo ""
echo ""
@ -394,6 +401,42 @@ if $IS_RELAY_HOST ; then
done
fi
ADDITIONAL_RELAY_LISTEN_PORT=
echo ""
echo -e "\033[32m--\033[m"
echo ""
echo "Should this mail relay server listen on an additional port?"
echo ""
if [[ -n "$_ADDITIONAL_RELAY_LISTEN_PORT" ]]; then
echo "Type:"
echo -e "\t\033[33mNone\033[m for no additional listen port."
else
echo "Type:"
echo -e "\t\033[33mNone\033[m or lrave empty for no additional listen port."
fi
echo ""
if [[ -n "$_ADDITIONAL_RELAY_LISTEN_PORT" ]]; then
echononl "additional listen port [${_ADDITIONAL_RELAY_LISTEN_PORT}]: "
read ADDITIONAL_RELAY_LISTEN_PORT
if [[ "X${ADDITIONAL_RELAY_LISTEN_PORT}" = "X" ]]; then
ADDITIONAL_RELAY_LISTEN_PORT=$_ADDITIONAL_RELAY_LISTEN_PORT
LISTEN_ON_ADDITIONAL_RELAY_PORT=true
fi
if [[ "${ADDITIONAL_RELAY_LISTEN_PORT,,}" = "none" ]] ; then
ADDITIONAL_RELAY_LISTEN_PORT=""
LISTEN_ON_ADDITIONAL_RELAY_PORT=false
fi
else
echononl "additional listen port: "
read ADDITIONAL_RELAY_LISTEN_PORT
if [[ "X${ADDITIONAL_RELAY_LISTEN_PORT}" = "X" ]] || [[ "${ADDITIONAL_RELAY_LISTEN_PORT,,}" = "none" ]]; then
ADDITIONAL_RELAY_LISTEN_PORT=""
LISTEN_ON_ADDITIONAL_RELAY_PORT=false
else
LISTEN_ON_ADDITIONAL_RELAY_PORT=true
fi
fi
else
IS_SYMPA_LIST_SERVER=false
@ -441,6 +484,11 @@ if $IS_RELAY_HOST ; then
echo -e "\tConfigure as sympa list server?...: \033[33m\033[1m$IS_SYMPA_LIST_SERVER\033[m"
echo ""
echo -e "\tSupport Cyrus SASL authentication.: $SASL_AUTH_ENABLED"
echo ""
echo -e "\tListen on an additional port?.......: \033[33m\033[1m${LISTEN_ON_ADDITIONAL_RELAY_PORT}\033[m"
if ${LISTEN_ON_ADDITIONAL_RELAY_PORT}; then
echo -e "\tAdditional Listen Port..............: ${ADDITIONAL_RELAY_LISTEN_PORT}"
fi
else
echo -e "\tConfigure as relay host?..........: $IS_RELAY_HOST"
echo -e "\tConfigure as complete mailserver..: \033[33m\033[1mtrue\033[m"
@ -464,7 +512,7 @@ _failed=false
echononl " Save Configuration"
cat << EOF > $conf_file
# ---
# - Parameter Settins Postfix Relay System
# - Parameter Settings Postfix Relay System
# ---
_HOSTNAME=$HOSTNAME
@ -480,7 +528,13 @@ if $IS_RELAY_HOST ; then
cat << EOF >> $conf_file
_SASL_AUTH_ENABLED=$SASL_AUTH_ENABLED
_SYMPA_LIST_SERVER=$IS_SYMPA_LIST_SERVER
_LISTEN_ON_ADDITIONAL_RELAY_PORT=${LISTEN_ON_ADDITIONAL_RELAY_PORT}
EOF
if ${LISTEN_ON_ADDITIONAL_RELAY_PORT} : then
cat << EOF >> $conf_file
_ADDITIONAL_RELAY_LISTEN_PORT=${ADDITIONAL_RELAY_LISTEN_PORT}
EOF
fi
fi
if [[ $? -ne 0 ]]; then
_failed=true
@ -3544,6 +3598,10 @@ smtps inet n - y - - smtpd
#-o milter_macro_daemon_name=ORIGINATING
EOF
fi
elif $LISTEN_ON_ADDITIONAL_RELAY_PORT ; then
cat >> $postfix_master_cf << EOF
${ADDITIONAL_RELAY_LISTEN_PORT} inet n - y - - smtpd
EOF
fi
continue
fi
@ -3838,6 +3896,14 @@ else
fi
fi
if ${LISTEN_ON_ADDITIONAL_RELAY_PORT} ; then
echo ""
warn "Please do not forget to allow incomming traffic on port \033[1m${ADDITIONAL_RELAY_LISTEN_PORT}\033[m.
Check your firewall settings.."
fi
if [[ -n "$(which amavisd-new)" ]] ; then
warn "You have to run \033[1minstall_amavis.sh\033[m script to continue the configuration."