#! /bin/bash # shellcheck source=../scripts/helpers/index.sh source /usr/local/bin/helpers/index.sh DATABASE=${DATABASE:-/tmp/docker-mailserver/postfix-sasl-password.cf} function __usage { echo "Usage: addsaslpassword " ; } [[ ${1:-} == 'help' ]] && { __usage ; exit 0 ; } DOMAIN="${1}" USER="${2}" PASSWD="${3}" [[ -z ${DOMAIN} ]] && { __usage ; _errex 'No domain specified' ; } [[ -z ${USER} ]] && { __usage ; _errex 'No username specified' ; } if [[ -z ${PASSWD} ]] then read -r -s -p "Enter Password: " PASSWD echo [[ -z ${PASSWD} ]] && _errex 'Password must not be empty' fi if grep -qi "^@${DOMAIN}" "${DATABASE}" 2>/dev/null then sed -i \ "s|^@${DOMAIN}.*|@${DOMAIN}\t\t${USER}:${PASSWD}|" \ "${DATABASE}" else echo -e "@${DOMAIN}\t\t${USER}:${PASSWD}" >>"${DATABASE}" fi