diff --git a/mail-user.sh b/mail-user.sh index a8cf6ee..5b3c40b 100644 --- a/mail-user.sh +++ b/mail-user.sh @@ -100,45 +100,54 @@ sudo mkdir -p /usr/share/dovecot /usr/share/webapps sudo touch /usr/share/dovecot/dh.pem # Mail username -echo -e '\e[1;34mType in your email username\e[0m' -until [ ${mailuser} ] -do - read -r -p 'Username: ' mailuser - [ ${mailuser} ] || echo -e '\n\e[1;31mUsername cannot be empty, try again\e[0m' -done -echo -e '\n\e[1;32mMail user '${mailuser}'@'${domain}' has been saved\e[0m' +if [ -z ${mailuser} ] +then + echo -e '\e[1;34mType in your email username\e[0m' + until [ ${mailuser} ] + do + read -r -p 'Username: ' mailuser + [ ${mailuser} ] || echo -e '\n\e[1;31mUsername cannot be empty, try again\e[0m' + done + echo -e '\n\e[1;32mMail user '${mailuser}'@'${domain}' has been saved\e[0m' +fi # Mail account password -echo -e '\n\e[1;34mCreate a password for your mail account\e[0m' -until [ "${mailpass}" = "${mailpass2}" -a "${mailpass}" ] -do - read -s -r -p 'Mail password: ' mailpass - read -s -r -p $'\nVerify mail password: ' mailpass2 - if [ -z "${mailpass}" ] - then - echo -e '\n\n\e[1;31mPassword field cannot be empty, try again\e[0m' - elif [ "${mailpass}" != "${mailpass2}" ] - then - echo -e '\n\n\e[1;31mPasswords did not match, try again\e[0m' - fi -done -echo -e '\n\n\e[1;32mMail password has been saved\e[0m' +if [ -z ${mailpass} ] +then + echo -e '\n\e[1;34mCreate a password for your mail account\e[0m' + until [ "${mailpass}" = "${mailpass2}" -a "${mailpass}" ] + do + read -s -r -p 'Mail password: ' mailpass + read -s -r -p $'\nVerify mail password: ' mailpass2 + if [ -z "${mailpass}" ] + then + echo -e '\n\n\e[1;31mPassword field cannot be empty, try again\e[0m' + elif [ "${mailpass}" != "${mailpass2}" ] + then + echo -e '\n\n\e[1;31mPasswords did not match, try again\e[0m' + fi + done + echo -e '\n\n\e[1;32mMail password has been saved\e[0m' +fi # Postfixadmin password -echo -e '\n\e[1;34mCreate a postfixadmin setup password\e[0m' -until [ "${postfixadminpass}" = "${postfixadminpass2}" -a "${postfixadminpass}" ] -do - read -s -r -p 'Postfixadmin password: ' postfixadminpass - read -s -r -p $'\nVerify Postfixadmin password: ' postfixadminpass2 - if [ -z "${postfixadminpass}" ] - then - echo -e '\n\n\e[1;31mPassword field cannot be empty, try again\e[0m' - elif [ "${postfixadminpass}" != "${postfixadminpass2}" ] - then - echo -e '\n\n\e[1;31mPasswords did not match, try again\e[0m' - fi -done -echo -e '\n\n\e[1;32mPostfixadmin password has been saved\e[0m\n' +if [ -z ${postfixadminpass} ] +then + echo -e '\n\e[1;34mCreate a postfixadmin setup password\e[0m' + until [ "${postfixadminpass}" = "${postfixadminpass2}" -a "${postfixadminpass}" ] + do + read -s -r -p 'Postfixadmin password: ' postfixadminpass + read -s -r -p $'\nVerify Postfixadmin password: ' postfixadminpass2 + if [ -z "${postfixadminpass}" ] + then + echo -e '\n\n\e[1;31mPassword field cannot be empty, try again\e[0m' + elif [ "${postfixadminpass}" != "${postfixadminpass2}" ] + then + echo -e '\n\n\e[1;31mPasswords did not match, try again\e[0m' + fi + done + echo -e '\n\n\e[1;32mPostfixadmin password has been saved\e[0m\n' +fi # fail2ban sudo tee /etc/fail2ban/jail.d/postfix.local >/dev/null <<'POSTFIX-FLOOD-ATTACK'