update scripts
This commit is contained in:
@@ -2,70 +2,53 @@
|
||||
|
||||
. /etc/mailconfig
|
||||
|
||||
exit_failure(){
|
||||
mess=$1
|
||||
code_exit=$2
|
||||
echo "$mess";
|
||||
exit "$code_exit";
|
||||
}
|
||||
|
||||
check_domain()
|
||||
{
|
||||
mail=$1
|
||||
alias=$2
|
||||
|
||||
domain=`echo $mail | awk -F '@' '{ print $2 }'`
|
||||
domain_mail=`echo $mail | awk -F '@' '{ print $2 }'`
|
||||
domain_alias=`echo $alias | awk -F '@' '{ print $2 }'`
|
||||
|
||||
if [ "$domain" != `hostname` ]; then
|
||||
echo "bad domain"
|
||||
exit 1
|
||||
fi;
|
||||
[[ "$domain_mail" = `hostname` && "$domain_alias" = `hostname` ]] || exit_failure "Bad domain" 1;
|
||||
|
||||
grep -q "$mail" "$PASSWD_FILE" && true || exit_failure "Mail doesn't exist" 1;
|
||||
|
||||
}
|
||||
|
||||
check_mail_exist()
|
||||
{
|
||||
mail=$1
|
||||
grep -q "$mail" "$PASSWD_FILE" && exit_failure " This e-mail address already exist" 2 || true
|
||||
}
|
||||
|
||||
check_alias()
|
||||
{
|
||||
alias=$1
|
||||
echo "$alias"
|
||||
alias_exist=`egrep "$alias" "$ALIAS_FILE"`
|
||||
|
||||
echo "$alias_exist"
|
||||
|
||||
if [ "$alias_exist" != "" ]; then
|
||||
echo "Address already exist in alias!"
|
||||
exit 1
|
||||
fi
|
||||
grep -q "$alias" "$ALIAS_FILE" && exit_failure "This e- mail address already exist in alias" 2 || true
|
||||
}
|
||||
|
||||
check_app_mail()
|
||||
{
|
||||
mail=$1
|
||||
while read line; do
|
||||
if [ "$mail" == "$line" ]; then
|
||||
echo "Adress already exist"
|
||||
exit 2;
|
||||
fi;
|
||||
done < $APP_MAIL
|
||||
alias=$1
|
||||
grep -q "$alias" "$APP_MAIL" && exit_failure "Address already exist in app mail" 2 || true
|
||||
}
|
||||
|
||||
|
||||
add_alias()
|
||||
{
|
||||
print "$2":" $1" >> "$ALIAS_FILE"
|
||||
}
|
||||
|
||||
check_mail_exist(){
|
||||
mail="$2"
|
||||
mail_exist=`egrep '"$mail"' $PASSWD_FILE`
|
||||
if [ "$mail_exist" != "" ]; then
|
||||
print "Address already exist"
|
||||
exit 1
|
||||
fi
|
||||
}
|
||||
|
||||
check_alias_exist(){
|
||||
|
||||
alias_c="$1: $2"
|
||||
|
||||
alias_exist=`egrep "$alias_c" "$ALIAS_FILE" `
|
||||
if [ -z "$alias_exist" ]; then
|
||||
print "This alias doesn't exist"
|
||||
exit 2
|
||||
fi
|
||||
|
||||
|
||||
grep -q "$alias_c" "$ALIAS_FILE" && true || exit_failure "This alias doesn't exist" 3
|
||||
}
|
||||
|
||||
del_alias()
|
||||
@@ -102,22 +85,28 @@ then
|
||||
exit 3;
|
||||
fi
|
||||
|
||||
if [ -z $3 ];
|
||||
then
|
||||
usage
|
||||
exit 3;
|
||||
fi
|
||||
|
||||
check_domain $1
|
||||
|
||||
check_domain $1 $3
|
||||
|
||||
|
||||
case $2 in
|
||||
"add")
|
||||
check_mail_exist $3
|
||||
check_alias $3
|
||||
check_app_mail $3
|
||||
check_mail_exist $3
|
||||
check_alias $3
|
||||
check_app_mail $3
|
||||
add_alias $1 $3
|
||||
smtpctl update table virtuals
|
||||
smtpctl update table virtuals
|
||||
;;
|
||||
"del")
|
||||
check_alias_exist $3 $1
|
||||
check_alias_exist $3 $1
|
||||
del_alias $3 $1
|
||||
smtpctl update table virtuals
|
||||
smtpctl update table virtuals
|
||||
;;
|
||||
*)
|
||||
usage
|
||||
|
||||
Reference in New Issue
Block a user