From fedf6f036bd9eb8e02086da40e46732348918f15 Mon Sep 17 00:00:00 2001 From: Matthew Saunders Brown Date: Fri, 20 May 2022 15:22:40 -0700 Subject: [PATCH] add check for email address with name of alias --- bin/vmail-aliases-add.sh | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/bin/vmail-aliases-add.sh b/bin/vmail-aliases-add.sh index 41097ac..a9de15d 100755 --- a/bin/vmail-aliases-add.sh +++ b/bin/vmail-aliases-add.sh @@ -57,9 +57,16 @@ elif [[ $mbox_id -gt 0 ]]; then # verified mbox, check for existing alias existing_alias=`mysql --defaults-extra-file=$MYSQL_CONNECTION_INFO_FILE -s -r -N -e "SELECT vm_aliases.id FROM vm_aliases WHERE vm_aliases.alias='$alias' AND vm_aliases.mbox_id='$mbox_id';"` if [[ -z $existing_alias ]]; then - # existing alias does not exist, add new one now - dbcmd="mysql --defaults-extra-file=$MYSQL_CONNECTION_INFO_FILE -e 'INSERT INTO vm_aliases SET vm_aliases.alias=\"$alias\", vm_aliases.mbox_id=\"$mbox_id\";'" - eval $dbcmd + # existing alias does not exist, make sure mbox with alias name does not exist + alias_mbox_id=`mysql --defaults-extra-file=$MYSQL_CONNECTION_INFO_FILE -s -r -N -e "SELECT id FROM vm_mboxes WHERE domain_id='$domain_id' AND mbox='$alias';"` + if [[ -z $alias_mbox_id ]]; then + # mailbox does not exist, add alias + dbcmd="mysql --defaults-extra-file=$MYSQL_CONNECTION_INFO_FILE -e 'INSERT INTO vm_aliases SET vm_aliases.alias=\"$alias\", vm_aliases.mbox_id=\"$mbox_id\";'" + eval $dbcmd + else + echo "ERROR: Email account $alias@$domain exists, can't create alias with the same name." + exit 1 + fi else echo "ERROR: Alias for $alias To $email already exists." exit 1