#! /bin/bash # shellcheck source=../scripts/helpers/index.sh source /usr/local/bin/helpers/index.sh function _main { [[ ${1:-} == 'help' ]] && { __usage ; exit 0 ; } local MAIL_ACCOUNT="${1}" shift local PASSWD="${*}" _manage_accounts_create "${MAIL_ACCOUNT}" "${PASSWD}" # NOTE: An account has only been added to `postfix-accounts.cf`. # The `changedetector` service will be triggered from this update # where the actual account is created in Dovecot. Expect a delay. } function __usage { printf '%s' "${PURPLE}addmailuser${RED}(${YELLOW}8${RED}) ${ORANGE}USAGE${RESET} ./setup.sh email add [] ${ORANGE}OPTIONS${RESET} ${BLUE}Generic Program Information${RESET} help Print the usage information. ${ORANGE}DESCRIPTION${RESET} Add a new mail account (email address). To avoid a password being logged in the command history of your shell, you may omit it, you'll be prompted to input the password instead. ${ORANGE}EXAMPLES${RESET} ${LWHITE}./setup.sh email add user@example.com${RESET} Create the email account 'user@example.com'. You will be prompted to input a password afterwards since no password was supplied. ${ORANGE}EXIT STATUS${RESET} Exit status is 0 if command was successful. If wrong arguments are provided or arguments contain errors, the script will exit early with exit status 1. " } _main "${@}"