mirror of
https://github.com/docker-mailserver/docker-mailserver.git
synced 2024-01-19 02:48:50 +00:00
182b71d33f
* chore: Remove `DATABASE` fallback ENV This was introduced without any mention or need, thus removing until a real use-case requires it. * chore: Remove `USER_DATABASE` fallback ENV Likewise, nothing requires this to be customizable. * chore: Consistently use single quote strings
34 lines
854 B
Bash
Executable file
34 lines
854 B
Bash
Executable file
#! /bin/bash
|
|
|
|
# shellcheck source=../scripts/helpers/index.sh
|
|
source /usr/local/bin/helpers/index.sh
|
|
|
|
DATABASE='/tmp/docker-mailserver/postfix-sasl-password.cf'
|
|
|
|
function __usage { echo "Usage: addsaslpassword <domain> <username> <password>" ; }
|
|
|
|
[[ ${1:-} == 'help' ]] && { __usage ; exit 0 ; }
|
|
|
|
DOMAIN="${1}"
|
|
USER="${2}"
|
|
PASSWD="${3}"
|
|
|
|
[[ -z ${DOMAIN} ]] && { __usage ; _exit_with_error 'No domain specified' ; }
|
|
[[ -z ${USER} ]] && { __usage ; _exit_with_error 'No username specified' ; }
|
|
|
|
if [[ -z ${PASSWD} ]]
|
|
then
|
|
read -r -s -p "Enter Password: " PASSWD
|
|
echo
|
|
[[ -z ${PASSWD} ]] && _exit_with_error '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
|