remote mail support

This commit is contained in:
Serghey Rodin 2014-04-01 23:51:10 +03:00
commit 972ecfaa74
33 changed files with 288 additions and 271 deletions

View file

@ -53,8 +53,10 @@ else
md5=$(/usr/sbin/dovecotpw -s md5 -p "$password") md5=$(/usr/sbin/dovecotpw -s md5 -p "$password")
fi fi
if [[ "$MAIL_SYSTEM" =~ exim ]]; then
str="$account:$md5:$user:mail::$HOMEDIR/$user:$quota" str="$account:$md5:$user:mail::$HOMEDIR/$user:$quota"
echo $str >> $HOMEDIR/$user/conf/mail/$domain/passwd echo $str >> $HOMEDIR/$user/conf/mail/$domain/passwd
fi
#----------------------------------------------------------# #----------------------------------------------------------#

View file

@ -44,8 +44,10 @@ is_mail_new "$malias"
#----------------------------------------------------------# #----------------------------------------------------------#
# Adding exim alias # Adding exim alias
if [[ "$MAIL_SYSTEM" =~ exim ]]; then
str="$malias@$domain:$account@$domain" str="$malias@$domain:$account@$domain"
echo "$str" >> $HOMEDIR/$user/conf/mail/$domain/aliases echo "$str" >> $HOMEDIR/$user/conf/mail/$domain/aliases
fi
#----------------------------------------------------------# #----------------------------------------------------------#

View file

@ -42,25 +42,21 @@ is_object_unsuspended "mail/$domain" 'ACCOUNT' "$account"
#----------------------------------------------------------# #----------------------------------------------------------#
# Action # # Action #
#----------------------------------------------------------# #----------------------------------------------------------#
# Add exim autoreply
echo -e "$autoreply" > $HOMEDIR/$user/conf/mail/$domain/autoreply.$account.msg
# Set ownership and permissions # Adding exim autoreply
if [ "$MAIL_SYSTEM" = 'exim' ]; then if [[ "$MAIL_SYSTEM" =~ exim ]]; then
mail_user=exim msg="$HOMEDIR/$user/conf/mail/$domain/autoreply.$account.msg"
echo -e "$autoreply" > $msg
chown $MAIL_USER:mail $msg
chmod 660 $msg
fi fi
if [ "$MAIL_SYSTEM" = 'exim4' ]; then
mail_user=Debian-exim
fi
chown $mail_user:mail $HOMEDIR/$user/conf/mail/$domain/autoreply.$account.msg
chmod 660 $HOMEDIR/$user/conf/mail/$domain/autoreply.$account.msg
#----------------------------------------------------------# #----------------------------------------------------------#
# Vesta # # Vesta #
#----------------------------------------------------------# #----------------------------------------------------------#
# Adding vesta alias # Adding autoreply message
echo -e "$autoreply" > $USER_DATA/mail/$account@$domain.msg echo -e "$autoreply" > $USER_DATA/mail/$account@$domain.msg
chmod 660 $USER_DATA/mail/$account@$domain.msg chmod 660 $USER_DATA/mail/$account@$domain.msg
update_object_value "mail/$domain" 'ACCOUNT' "$account" '$AUTOREPLY' 'yes' update_object_value "mail/$domain" 'ACCOUNT' "$account" '$AUTOREPLY' 'yes'

View file

@ -48,15 +48,18 @@ fi
# Action # # Action #
#----------------------------------------------------------# #----------------------------------------------------------#
# Adding forward to exim # Define fwd string
if [ -z "$fwd" ]; then if [ -z "$fwd" ]; then
fwd="$forward" fwd="$forward"
else else
fwd="$fwd,$forward" fwd="$fwd,$forward"
fi fi
# Adding forward to exim
if [[ "$MAIL_SYSTEM" =~ exim ]]; then
sed -i "/^$account@$domain:/ d" $HOMEDIR/$user/conf/mail/$domain/aliases sed -i "/^$account@$domain:/ d" $HOMEDIR/$user/conf/mail/$domain/aliases
echo "$account@$domain:$fwd" >> $HOMEDIR/$user/conf/mail/$domain/aliases echo "$account@$domain:$fwd" >> $HOMEDIR/$user/conf/mail/$domain/aliases
fi
#----------------------------------------------------------# #----------------------------------------------------------#

View file

@ -48,21 +48,11 @@ fi
#----------------------------------------------------------# #----------------------------------------------------------#
# Adding account to fwd_only # Adding account to fwd_only
touch $HOMEDIR/$user/conf/mail/$domain/fwd_only if [[ "$MAIL_SYSTEM" =~ exim ]]; then
check_fwd=$(grep "^$account$" $HOMEDIR/$user/conf/mail/$domain/fwd_only)
if [ -z "$check_fwd" ]; then
echo "$account" > $HOMEDIR/$user/conf/mail/$domain/fwd_only echo "$account" > $HOMEDIR/$user/conf/mail/$domain/fwd_only
chown -R $MAIL_USER:mail $HOMEDIR/$user/conf/mail/$domain/fwd_only
fi fi
# Set ownership
if [ "$MAIL_SYSTEM" = 'exim' ]; then
mail_user=exim
fi
if [ "$MAIL_SYSTEM" = 'exim4' ]; then
mail_user=Debian-exim
fi
chown -R $mail_user:mail $HOMEDIR/$user/conf/mail/$domain/fwd_only
#----------------------------------------------------------# #----------------------------------------------------------#
# Vesta # # Vesta #

View file

@ -43,14 +43,33 @@ is_package_full 'MAIL_DOMAINS'
# Action # # Action #
#----------------------------------------------------------# #----------------------------------------------------------#
# Adding domain directory and necessary files # Adding domain to mail.conf
s="DOMAIN='$domain' ANTIVIRUS='$antivirus' ANTISPAM='$antispam' DKIM='$dkim'"
s="$s ACCOUNTS='0' U_DISK='0' CATCHALL='' SUSPENDED='no' TIME='$TIME'"
s="$s DATE='$DATE'"
echo $s >> $USER_DATA/mail.conf
touch $USER_DATA/mail/$domain.conf
# Generating DKIM keys
if [ "$dkim" = 'yes' ]; then
openssl genrsa -out $USER_DATA/mail/$domain.pem $dkim_size &>/dev/null
openssl rsa -pubout -in $USER_DATA/mail/$domain.pem \
-out $USER_DATA/mail/$domain.pub &>/dev/null
fi
# Set permissions
chmod 660 $USER_DATA/mail/$domain.*
chmod 660 $USER_DATA/mail.conf
# Building exim configs
if [[ "$MAIL_SYSTEM" =~ exim ]]; then
mkdir $HOMEDIR/$user/conf/mail/$domain mkdir $HOMEDIR/$user/conf/mail/$domain
mkdir $HOMEDIR/$user/mail/$domain_idn mkdir $HOMEDIR/$user/mail/$domain_idn
touch $HOMEDIR/$user/conf/mail/$domain/aliases touch $HOMEDIR/$user/conf/mail/$domain/aliases
touch $HOMEDIR/$user/conf/mail/$domain/passwd touch $HOMEDIR/$user/conf/mail/$domain/passwd
touch $HOMEDIR/$user/conf/mail/$domain/fwd_only
# Adding symlink ln -s $HOMEDIR/$user/conf/mail/$domain \
ln -s $HOMEDIR/$user/conf/mail/$domain /etc/$MAIL_SYSTEM/domains/$domain_idn /etc/$MAIL_SYSTEM/domains/$domain_idn
# Adding antispam protection # Adding antispam protection
if [ "$antispam" = 'yes' ]; then if [ "$antispam" = 'yes' ]; then
@ -62,16 +81,26 @@ if [ "$antivirus" = 'yes' ]; then
touch $HOMEDIR/$user/conf/mail/$domain/antivirus touch $HOMEDIR/$user/conf/mail/$domain/antivirus
fi fi
# Adding dkim # Adding dkim support
if [ "$dkim" = 'yes' ]; then if [ "$dkim" = 'yes' ]; then
openssl genrsa -out $USER_DATA/mail/$domain.pem $dkim_size &>/dev/null cp -f $USER_DATA/mail/$domain.pem \
openssl rsa -pubout -in $USER_DATA/mail/$domain.pem \ $HOMEDIR/$user/conf/mail/$domain/dkim.pem
-out $USER_DATA/mail/$domain.pub &>/dev/null fi
chmod 660 $USER_DATA/mail/$domain.*
cp $USER_DATA/mail/$domain.pem $HOMEDIR/$user/conf/mail/$domain/dkim.pem # Set permission
chmod 771 $HOMEDIR/$user/conf/mail/$domain
chmod 660 $HOMEDIR/$user/conf/mail/$domain/*
chmod 771 /etc/$MAIL_SYSTEM/domains/$domain_idn
chmod 770 $HOMEDIR/$user/mail/$domain_idn
# Set ownership
chown -R $MAIL_USER:mail $HOMEDIR/$user/conf/mail/$domain
chown -R dovecot:mail $HOMEDIR/$user/conf/mail/$domain/passwd
chown $user:mail $HOMEDIR/$user/mail/$domain_idn
fi
# Adding dkim dns records # Adding dkim dns records
if [ ! -z "$DNS_SYSTEM" ] && [ "$dkim" = 'yes' ]; then
check_dns_domain=$(is_object_valid 'dns' 'DOMAIN' "$domain") check_dns_domain=$(is_object_valid 'dns' 'DOMAIN' "$domain")
if [ "$?" -eq 0 ]; then if [ "$?" -eq 0 ]; then
p=$(cat $USER_DATA/mail/$domain.pub|grep -v ' KEY---'|tr -d '\n') p=$(cat $USER_DATA/mail/$domain.pub|grep -v ' KEY---'|tr -d '\n')
@ -85,34 +114,6 @@ if [ "$dkim" = 'yes' ]; then
fi fi
fi fi
# Adding domain to vesta db
s="DOMAIN='$domain' ANTIVIRUS='$antivirus' ANTISPAM='$antispam' DKIM='$dkim'"
s="$s ACCOUNTS='0' U_DISK='0' CATCHALL='' SUSPENDED='no' TIME='$TIME'"
s="$s DATE='$DATE'"
# Set permissions
chmod 660 $USER_DATA/mail/$domain.*
chmod 771 $HOMEDIR/$user/conf/mail/$domain
chmod 660 $HOMEDIR/$user/conf/mail/$domain/*
chmod 771 /etc/$MAIL_SYSTEM/domains/$domain_idn
chmod 770 $HOMEDIR/$user/mail/$domain_idn
# Set ownership
if [ "$MAIL_SYSTEM" = 'exim' ]; then
mail_user=exim
fi
if [ "$MAIL_SYSTEM" = 'exim4' ]; then
mail_user=Debian-exim
fi
chown -R $mail_user:mail $HOMEDIR/$user/conf/mail/$domain
chown -R dovecot:mail $HOMEDIR/$user/conf/mail/$domain/passwd
chown $user:mail $HOMEDIR/$user/mail/$domain_idn
echo $s >> $USER_DATA/mail.conf
touch $USER_DATA/mail/$domain.conf
chmod 660 $USER_DATA/mail.conf
chmod 660 $USER_DATA/mail/$domain.conf
#----------------------------------------------------------# #----------------------------------------------------------#
# Vesta # # Vesta #

View file

@ -40,7 +40,9 @@ is_object_value_empty 'mail' 'DOMAIN' "$domain" '$ANTISPAM'
#----------------------------------------------------------# #----------------------------------------------------------#
# Adding antispam flag # Adding antispam flag
if [[ "$MAIL_SYSTEM" =~ exim ]]; then
touch $HOMEDIR/$user/conf/mail/$domain/antispam touch $HOMEDIR/$user/conf/mail/$domain/antispam
fi
#----------------------------------------------------------# #----------------------------------------------------------#

View file

@ -40,7 +40,9 @@ is_object_value_empty 'mail' 'DOMAIN' "$domain" '$ANTIVIRUS'
#----------------------------------------------------------# #----------------------------------------------------------#
# Adding antivirus flag # Adding antivirus flag
if [[ "$MAIL_SYSTEM" =~ exim ]]; then
touch $HOMEDIR/$user/conf/mail/$domain/antivirus touch $HOMEDIR/$user/conf/mail/$domain/antivirus
fi
#----------------------------------------------------------# #----------------------------------------------------------#

View file

@ -41,8 +41,10 @@ is_object_value_empty 'mail' 'DOMAIN' "$domain" '$CATCHALL'
#----------------------------------------------------------# #----------------------------------------------------------#
# Adding catchall alias # Adding catchall alias
if [[ "$MAIL_SYSTEM" =~ exim ]]; then
sed -i "/*@$domain:/d" $HOMEDIR/$user/conf/mail/$domain/aliases sed -i "/*@$domain:/d" $HOMEDIR/$user/conf/mail/$domain/aliases
echo "*@$domain:$email" >> $HOMEDIR/$user/conf/mail/$domain/aliases echo "*@$domain:$email" >> $HOMEDIR/$user/conf/mail/$domain/aliases
fi
#----------------------------------------------------------# #----------------------------------------------------------#
@ -52,7 +54,6 @@ echo "*@$domain:$email" >> $HOMEDIR/$user/conf/mail/$domain/aliases
# Adding antispam in config # Adding antispam in config
update_object_value 'mail' 'DOMAIN' "$domain" '$CATCHALL' "$email" update_object_value 'mail' 'DOMAIN' "$domain" '$CATCHALL' "$email"
# Logging # Logging
log_history "added $email as catchall email for $domain" log_history "added $email as catchall email for $domain"
log_event "$OK" "$EVENT" log_event "$OK" "$EVENT"

View file

@ -46,23 +46,15 @@ openssl rsa -pubout -in $USER_DATA/mail/$domain.pem \
-out $USER_DATA/mail/$domain.pub &>/dev/null -out $USER_DATA/mail/$domain.pub &>/dev/null
chmod 660 $USER_DATA/mail/$domain.* chmod 660 $USER_DATA/mail/$domain.*
# Define exim user # Adding dkim keys
if [ "$MAIL_SYSTEM" = 'exim' ]; then if [[ "$MAIL_SYSTEM" =~ exim ]]; then
mail_user=exim
fi
if [ "$MAIL_SYSTEM" = 'exim4' ]; then
mail_user=Debian-exim
fi
# Adding dkim to config
cp $USER_DATA/mail/$domain.pem $HOMEDIR/$user/conf/mail/$domain/dkim.pem cp $USER_DATA/mail/$domain.pem $HOMEDIR/$user/conf/mail/$domain/dkim.pem
chown $mail_user:mail $HOMEDIR/$user/conf/mail/$domain/dkim.pem chown $MAIL_USER:mail $HOMEDIR/$user/conf/mail/$domain/dkim.pem
chmod 660 $HOMEDIR/$user/conf/mail/$domain/dkim.pem chmod 660 $HOMEDIR/$user/conf/mail/$domain/dkim.pem
fi
# Checking dns domain # Adding dns records
check_dns_domain=$(is_object_valid 'dns' 'DOMAIN' "$domain") if [ ! -z "$DNS_SYSTEM" ] && [ -e "$USER_DATA/dns/$domain.conf" ]; then
if [ "$?" -eq 0 ]; then
# Adding dkim dns records
p=$(cat $USER_DATA/mail/$domain.pub |grep -v ' KEY---' |tr -d '\n') p=$(cat $USER_DATA/mail/$domain.pub |grep -v ' KEY---' |tr -d '\n')
record='_domainkey' record='_domainkey'
policy="\"t=y; o=~;\"" policy="\"t=y; o=~;\""

View file

@ -133,8 +133,7 @@ fi
IFS="$OLD_IFS" IFS="$OLD_IFS"
# WEB domains # WEB domains
if [ ! -z "$WEB_SYSTEM" ] && [ "$WEB_SYSTEM" != 'no' ] && [ "$WEB" != '*' ] if [ ! -z "$WEB_SYSTEM" ] && [ "$WEB" != '*' ]; then
then
echo "-- WEB --" echo "-- WEB --"
msg="$msg\n-- WEB --" msg="$msg\n-- WEB --"
mkdir $tmpdir/web/ mkdir $tmpdir/web/
@ -211,11 +210,9 @@ then
cd $HOMEDIR/$user/web/$domain cd $HOMEDIR/$user/web/$domain
domain_direcotries=$(ls |grep -v logs) domain_direcotries=$(ls |grep -v logs)
tar -cpf $tmpdir/web/$domain/domain_data.tar $domain_direcotries tar -cpf $tmpdir/web/$domain/domain_data.tar $domain_direcotries
if [ ! -z "$BACKUP_GZIP" ]; then
gzip -$BACKUP_GZIP $tmpdir/web/$domain/domain_data.tar gzip -$BACKUP_GZIP $tmpdir/web/$domain/domain_data.tar
fi
done done
if [ "$i" -eq 1 ]; then if [ "$i" -eq 1 ]; then
echo -e "$(date "+%F %T") $i domain" echo -e "$(date "+%F %T") $i domain"
msg="$msg\n$(date "+%F %T") $i domain" msg="$msg\n$(date "+%F %T") $i domain"
@ -228,8 +225,7 @@ then
fi fi
# DNS domains # DNS domains
if [ ! -z "$DNS_SYSTEM" ] && [ "$DNS_SYSTEM" != 'no' ] && [ "$DNS" != '*' ] if [ ! -z "$DNS_SYSTEM" ] && [ "$DNS" != '*' ]; then
then
echo "-- DNS --" echo "-- DNS --"
msg="$msg\n-- DNS --" msg="$msg\n-- DNS --"
mkdir $tmpdir/dns/ mkdir $tmpdir/dns/
@ -262,6 +258,7 @@ then
cp $USER_DATA/dns/$domain.conf vesta/$domain.conf cp $USER_DATA/dns/$domain.conf vesta/$domain.conf
cp $HOMEDIR/$user/conf/dns/$domain.db conf/$domain.db cp $HOMEDIR/$user/conf/dns/$domain.db conf/$domain.db
done done
if [ "$i" -eq 1 ]; then if [ "$i" -eq 1 ]; then
echo -e "$(date "+%F %T") $i domain" echo -e "$(date "+%F %T") $i domain"
msg="$msg\n$(date "+%F %T") $i domain" msg="$msg\n$(date "+%F %T") $i domain"
@ -274,8 +271,7 @@ then
fi fi
# Mail domains # Mail domains
if [ ! -z "$MAIL_SYSTEM" ] && [ "$MAIL_SYSTEM" != 'no' ] && [ "$MAIL" != '*' ] if [ ! -z "$MAIL_SYSTEM" ] && [ "$MAIL" != '*' ]; then
then
echo "-- MAIL --" echo "-- MAIL --"
msg="$msg\n-- MAIL --" msg="$msg\n-- MAIL --"
mkdir $tmpdir/mail/ mkdir $tmpdir/mail/
@ -300,8 +296,10 @@ then
domain_idn=$(idn -t --quiet -a "$domain") domain_idn=$(idn -t --quiet -a "$domain")
# Creating exim config # Creating exim config
if [[ "$MAIL_SYSTEM" =~ exim ]]; then
cd $tmpdir/mail/$domain/ cd $tmpdir/mail/$domain/
cp $HOMEDIR/$user/conf/mail/$domain/* conf/ cp $HOMEDIR/$user/conf/mail/$domain/* conf/
fi
# Creating vesta config # Creating vesta config
conf="$USER_DATA/mail.conf" conf="$USER_DATA/mail.conf"
@ -314,14 +312,12 @@ then
# Packing mailboxes # Packing mailboxes
cd $HOMEDIR/$user/mail/$domain_idn cd $HOMEDIR/$user/mail/$domain_idn
accounts=$(ls) accounts=$(ls)
if [ ! -z "$accounts" ]; then if [ ! -z "$accounts" ] && [[ "$MAIL_SYSTEM" =~ exim ]]; then
tar -cpf $tmpdir/mail/$domain/accounts.tar $accounts tar -cpf $tmpdir/mail/$domain/accounts.tar $accounts
fi
if [ ! -z "$BACKUP_GZIP" ] && [ ! -z "$accounts" ]; then
gzip -$BACKUP_GZIP $tmpdir/mail/$domain/accounts.tar gzip -$BACKUP_GZIP $tmpdir/mail/$domain/accounts.tar
fi fi
done done
if [ "$i" -eq 1 ]; then if [ "$i" -eq 1 ]; then
echo -e "$(date "+%F %T") $i domain" echo -e "$(date "+%F %T") $i domain"
msg="$msg\n$(date "+%F %T") $i domain" msg="$msg\n$(date "+%F %T") $i domain"
@ -335,7 +331,7 @@ fi
# Databases # Databases
if [ ! -z "$DB_SYSTEM" ] && [ "$DB_SYSTEM" != 'no' ] && [ "$DB" != '*' ]; then if [ ! -z "$DB_SYSTEM" ] && [ "$DB" != '*' ]; then
echo "-- DB --" echo "-- DB --"
msg="$msg\n-- DB --" msg="$msg\n-- DB --"
mkdir $tmpdir/db/ mkdir $tmpdir/db/
@ -370,10 +366,9 @@ if [ ! -z "$DB_SYSTEM" ] && [ "$DB_SYSTEM" != 'no' ] && [ "$DB" != '*' ]; then
mysql) dump_mysql_database ;; mysql) dump_mysql_database ;;
pgsql) dump_pgsql_database ;; pgsql) dump_pgsql_database ;;
esac esac
if [ ! -z "$BACKUP_GZIP" ]; then
gzip -$BACKUP_GZIP $dump gzip -$BACKUP_GZIP $dump
fi
done done
if [ "$i" -eq 1 ]; then if [ "$i" -eq 1 ]; then
echo -e "$(date "+%F %T") $i database" echo -e "$(date "+%F %T") $i database"
msg="$msg\n$(date "+%F %T") $i database" msg="$msg\n$(date "+%F %T") $i database"
@ -386,8 +381,7 @@ if [ ! -z "$DB_SYSTEM" ] && [ "$DB_SYSTEM" != 'no' ] && [ "$DB" != '*' ]; then
fi fi
# Cron jobs # Cron jobs
if [ ! -z "$CRON_SYSTEM" ] && [ "$CRON_SYSTEM" != 'no' ] && [ "$CRON" != '*' ] if [ ! -z "$CRON_SYSTEM" ] && [ "$CRON" != '*' ]; then
then
echo "-- CRON --" echo "-- CRON --"
msg="$msg\n-- CRON --" msg="$msg\n-- CRON --"
mkdir $tmpdir/cron/ mkdir $tmpdir/cron/
@ -403,6 +397,7 @@ then
cron_list="$cron_record" cron_list="$cron_record"
cp /var/spool/cron/$user $tmpdir/cron/ cp /var/spool/cron/$user $tmpdir/cron/
fi fi
if [ "$cron_record" -eq 1 ]; then if [ "$cron_record" -eq 1 ]; then
echo -e "$(date "+%F %T") $cron_record record" echo -e "$(date "+%F %T") $cron_record record"
msg="$msg\n$(date "+%F %T") $cron_record record" msg="$msg\n$(date "+%F %T") $cron_record record"

View file

@ -52,9 +52,11 @@ else
md5=$(/usr/sbin/dovecotpw -s md5 -p "$password") md5=$(/usr/sbin/dovecotpw -s md5 -p "$password")
fi fi
if [[ "$MAIL_SYSTEM" =~ exim ]]; then
sed -i "/^$account:/d" $HOMEDIR/$user/conf/mail/$domain/passwd sed -i "/^$account:/d" $HOMEDIR/$user/conf/mail/$domain/passwd
str="$account:$md5:$user:mail::$HOMEDIR/$user:$quota" str="$account:$md5:$user:mail::$HOMEDIR/$user:$quota"
echo $str >> $HOMEDIR/$user/conf/mail/$domain/passwd echo $str >> $HOMEDIR/$user/conf/mail/$domain/passwd
fi
#----------------------------------------------------------# #----------------------------------------------------------#

View file

@ -43,9 +43,11 @@ is_object_unsuspended "mail/$domain" 'ACCOUNT' "$account"
#----------------------------------------------------------# #----------------------------------------------------------#
md5=$(get_object_value "mail/$domain" 'ACCOUNT' "$account" '$MD5') md5=$(get_object_value "mail/$domain" 'ACCOUNT' "$account" '$MD5')
if [[ "$MAIL_SYSTEM" =~ exim ]]; then
sed -i "/^$account:/d" $HOMEDIR/$user/conf/mail/$domain/passwd sed -i "/^$account:/d" $HOMEDIR/$user/conf/mail/$domain/passwd
str="$account:$md5:$user:mail::$HOMEDIR/$user:$quota" str="$account:$md5:$user:mail::$HOMEDIR/$user:$quota"
echo $str >> $HOMEDIR/$user/conf/mail/$domain/passwd echo $str >> $HOMEDIR/$user/conf/mail/$domain/passwd
fi
#----------------------------------------------------------# #----------------------------------------------------------#

View file

@ -40,8 +40,10 @@ is_object_unsuspended 'mail' 'DOMAIN' "$domain"
#----------------------------------------------------------# #----------------------------------------------------------#
# Change cathcall alias # Change cathcall alias
if [[ "$MAIL_SYSTEM" =~ exim ]]; then
sed -i "/*@$domain:/d" $HOMEDIR/$user/conf/mail/$domain/aliases sed -i "/*@$domain:/d" $HOMEDIR/$user/conf/mail/$domain/aliases
echo "*@$domain:$email" >> $HOMEDIR/$user/conf/mail/$domain/aliases echo "*@$domain:$email" >> $HOMEDIR/$user/conf/mail/$domain/aliases
fi
#----------------------------------------------------------# #----------------------------------------------------------#

View file

@ -40,14 +40,18 @@ is_object_unsuspended "mail/$domain" 'ACCOUNT' "$account"
#----------------------------------------------------------# #----------------------------------------------------------#
# Action # # Action #
#----------------------------------------------------------# #----------------------------------------------------------#
if [[ "$MAIL_SYSTEM" =~ exim ]]; then
aliases=$(get_object_value "mail/$domain" 'ACCOUNT' "$account" '$ALIAS') aliases=$(get_object_value "mail/$domain" 'ACCOUNT' "$account" '$ALIAS')
for al in ${aliases//,/ }; do for al in ${aliases//,/ }; do
sed -i "/^$al@$domain:$account/d" $HOMEDIR/$user/conf/mail/$domain/aliases sed -i "/^$al@$domain:$account/d" \
$HOMEDIR/$user/conf/mail/$domain/aliases
done done
sed -i "/^$account@$domain:/d" $HOMEDIR/$user/conf/mail/$domain/aliases sed -i "/^$account@$domain:/d" $HOMEDIR/$user/conf/mail/$domain/aliases
sed -i "/^$account:/d" $HOMEDIR/$user/conf/mail/$domain/passwd sed -i "/^$account:/d" $HOMEDIR/$user/conf/mail/$domain/passwd
rm -rf $HOMEDIR/$user/mail/$domain/$account rm -rf $HOMEDIR/$user/mail/$domain/$account
fi
#----------------------------------------------------------# #----------------------------------------------------------#
@ -62,7 +66,6 @@ accounts=$(wc -l $USER_DATA/mail/$domain.conf | cut -f 1 -d ' ')
decrease_user_value "$user" '$U_MAIL_ACCOUNTS' decrease_user_value "$user" '$U_MAIL_ACCOUNTS'
update_object_value 'mail' 'DOMAIN' "$domain" '$ACCOUNTS' "$accounts" update_object_value 'mail' 'DOMAIN' "$domain" '$ACCOUNTS' "$accounts"
# Logging # Logging
log_history "deleted $account@$domain mail account" log_history "deleted $account@$domain mail account"
log_event "$OK" "$EVENT" log_event "$OK" "$EVENT"

View file

@ -48,7 +48,11 @@ fi
# Action # # Action #
#----------------------------------------------------------# #----------------------------------------------------------#
sed -i "/^$malias@$domain:$account/d" $HOMEDIR/$user/conf/mail/$domain/aliases if [[ "$MAIL_SYSTEM" =~ exim ]]; then
sed -i "/^$malias@$domain:$account/d" \
$HOMEDIR/$user/conf/mail/$domain/aliases
fi
aliases=$(echo "$aliases" |\ aliases=$(echo "$aliases" |\
sed "s/,/\n/g"|\ sed "s/,/\n/g"|\
sed "s/^$malias$//g"|\ sed "s/^$malias$//g"|\

View file

@ -43,14 +43,19 @@ is_object_value_exist "mail/$domain" 'ACCOUNT' "$account" '$AUTOREPLY'
# Action # # Action #
#----------------------------------------------------------# #----------------------------------------------------------#
# Deleting exim autoreply message
if [[ "$MAIL_SYSTEM" =~ exim ]]; then
rm -f $HOMEDIR/$user/conf/mail/$domain/autoreply.$account.msg rm -f $HOMEDIR/$user/conf/mail/$domain/autoreply.$account.msg
rm -f $USER_DATA/mail/$domain/$account@$domain.msg fi
#----------------------------------------------------------# #----------------------------------------------------------#
# Vesta # # Vesta #
#----------------------------------------------------------# #----------------------------------------------------------#
# Deleting autoreply message
rm -f $USER_DATA/mail/$domain/$account@$domain.msg
# Update config # Update config
update_object_value "mail/$domain" 'ACCOUNT' "$account" '$AUTOREPLY' 'no' update_object_value "mail/$domain" 'ACCOUNT' "$account" '$AUTOREPLY' 'no'

View file

@ -48,21 +48,25 @@ fi
# Action # # Action #
#----------------------------------------------------------# #----------------------------------------------------------#
# Define new fwd string
fwd=$(echo "$fwd" |\ fwd=$(echo "$fwd" |\
sed "s/,/\n/g"|\ sed "s/,/\n/g"|\
sed "s/^$forward$//g"|\ sed "s/^$forward$//g"|\
sed "/^$/d"|\ sed "/^$/d"|\
sed ':a;N;$!ba;s/\n/,/g') sed ':a;N;$!ba;s/\n/,/g')
# Deleting exim forward
if [[ "$MAIL_SYSTEM" =~ exim ]]; then
sed -i "/^$account@$domain:/ d" $HOMEDIR/$user/conf/mail/$domain/aliases sed -i "/^$account@$domain:/ d" $HOMEDIR/$user/conf/mail/$domain/aliases
echo "$account@$domain:$fwd" >> $HOMEDIR/$user/conf/mail/$domain/aliases echo "$account@$domain:$fwd" >> $HOMEDIR/$user/conf/mail/$domain/aliases
fi
#----------------------------------------------------------# #----------------------------------------------------------#
# Vesta # # Vesta #
#----------------------------------------------------------# #----------------------------------------------------------#
# Update config # Updating config
update_object_value "mail/$domain" 'ACCOUNT' "$account" '$FWD' "$fwd" update_object_value "mail/$domain" 'ACCOUNT' "$account" '$FWD' "$fwd"
# Logging # Logging

View file

@ -42,7 +42,9 @@ is_object_unsuspended "mail/$domain" 'ACCOUNT' "$account"
#----------------------------------------------------------# #----------------------------------------------------------#
# Deleting account from fwd_only # Deleting account from fwd_only
if [[ "$MAIL_SYSTEM" =~ exim ]]; then
sed -i "/^$account$/d" $HOMEDIR/$user/conf/mail/$domain/fwd_only sed -i "/^$account$/d" $HOMEDIR/$user/conf/mail/$domain/fwd_only
fi
#----------------------------------------------------------# #----------------------------------------------------------#

View file

@ -42,9 +42,21 @@ is_object_unsuspended 'mail' 'DOMAIN' "$domain"
get_domain_values 'mail' get_domain_values 'mail'
accounts=$(wc -l $USER_DATA/mail/$domain.conf|cut -f 1 -d ' ') accounts=$(wc -l $USER_DATA/mail/$domain.conf|cut -f 1 -d ' ')
# Deleting exim configuration files
if [[ "$MAIL_SYSTEM" =~ exim ]]; then
rm -f /etc/$MAIL_SYSTEM/domains/$domain_idn rm -f /etc/$MAIL_SYSTEM/domains/$domain_idn
rm -rf $HOMEDIR/$user/conf/mail/$domain rm -rf $HOMEDIR/$user/conf/mail/$domain
rm -rf $HOMEDIR/$user/mail/$domain_idn rm -rf $HOMEDIR/$user/mail/$domain_idn
fi
# Deleting dkim dns record
if [ "$DKIM" = 'yes' ] && [ -e "$USER_DATA/dns/$domain.conf" ]; then
records=$($BIN/v-list-dns-records $user $domain plain)
dkim_records=$(echo "$records" |grep -w '_domainkey' | cut -f 1 -d ' ')
for id in $dkim_records; do
$BIN/v-delete-dns-record $user $domain $id
done
fi
#----------------------------------------------------------# #----------------------------------------------------------#
@ -65,7 +77,6 @@ if [ "$DKIM" = 'yes' ]; then
fi fi
decrease_user_value "$user" '$U_MAIL_ACCOUNTS' "$accounts" decrease_user_value "$user" '$U_MAIL_ACCOUNTS' "$accounts"
# Logging # Logging
log_history "deleted mail domain $domain" log_history "deleted mail domain $domain"
log_event "$OK" "$EVENT" log_event "$OK" "$EVENT"

View file

@ -40,7 +40,9 @@ is_object_value_exist 'mail' 'DOMAIN' "$domain" '$ANTISPAM'
#----------------------------------------------------------# #----------------------------------------------------------#
# Delete antispam flag # Delete antispam flag
if [[ "$MAIL_SYSTEM" =~ exim ]]; then
rm -f $HOMEDIR/$user/conf/mail/$domain/antispam rm -f $HOMEDIR/$user/conf/mail/$domain/antispam
fi
#----------------------------------------------------------# #----------------------------------------------------------#

View file

@ -40,7 +40,9 @@ is_object_value_exist 'mail' 'DOMAIN' "$domain" '$ANTIVIRUS'
#----------------------------------------------------------# #----------------------------------------------------------#
# Delete antivirus flag # Delete antivirus flag
if [[ "$MAIL_SYSTEM" =~ exim ]]; then
rm -f $HOMEDIR/$user/conf/mail/$domain/antivirus rm -f $HOMEDIR/$user/conf/mail/$domain/antivirus
fi
#----------------------------------------------------------# #----------------------------------------------------------#

View file

@ -40,7 +40,9 @@ is_object_value_exist 'mail' 'DOMAIN' "$domain" '$CATCHALL'
#----------------------------------------------------------# #----------------------------------------------------------#
# Delete cathcall alias # Delete cathcall alias
if [[ "$MAIL_SYSTEM" =~ exim ]]; then
sed -i "/*@$domain:/d" $HOMEDIR/$user/conf/mail/$domain/aliases sed -i "/*@$domain:/d" $HOMEDIR/$user/conf/mail/$domain/aliases
fi
#----------------------------------------------------------# #----------------------------------------------------------#

View file

@ -38,14 +38,15 @@ is_object_value_exist 'mail' 'DOMAIN' "$domain" '$DKIM'
# Action # # Action #
#----------------------------------------------------------# #----------------------------------------------------------#
# Generating dkim # Deleting dkim
if [[ "$MAIL_SYSTEM" =~ exim ]]; then
rm -f $USER_DATA/mail/$domain.pem rm -f $USER_DATA/mail/$domain.pem
rm -f $USER_DATA/mail/$domain.pub rm -f $USER_DATA/mail/$domain.pub
rm -f $HOMEDIR/$user/conf/mail/$domain/dkim.pem rm -f $HOMEDIR/$user/conf/mail/$domain/dkim.pem
fi
# Checking dns domain # Deleting dns record
check_dns_domain=$(is_object_valid 'dns' 'DOMAIN' "$domain") if [ ! -z "$DNS_SYSTEM" ] && [ -e "$USER_DATA/dns/$domain.conf" ]; then
if [ "$?" -eq 0 ]; then
records=$($BIN/v-list-dns-records $user $domain plain) records=$($BIN/v-list-dns-records $user $domain plain)
dkim_records=$(echo "$records" |grep -w '_domainkey' | cut -f 1 -d ' ') dkim_records=$(echo "$records" |grep -w '_domainkey' | cut -f 1 -d ' ')
for id in $dkim_records; do for id in $dkim_records; do

View file

@ -40,7 +40,6 @@ if [ -z "$1" ] && [ "$SCHEDULED_RESTART" = 'yes' ]; then
exit exit
fi fi
if [ -z "$MAIL_SYSTEM" ] || [ "$MAIL_SYSTEM" = 'remote' ]; then if [ -z "$MAIL_SYSTEM" ] || [ "$MAIL_SYSTEM" = 'remote' ]; then
exit exit
fi fi

View file

@ -332,12 +332,11 @@ if [ "$web" != 'no' ]; then
conf="$HOMEDIR/$user/conf/web/$PROXY_SYSTEM.conf" conf="$HOMEDIR/$user/conf/web/$PROXY_SYSTEM.conf"
cat $tmp_conf >> $conf cat $tmp_conf >> $conf
rm -f $tmp_conf rm -f $tmp_conf
fi
proxy_include=$(grep "$conf" $proxy_conf) proxy_include=$(grep "$conf" $proxy_conf)
if [ -z "$proxy_include" ]; then if [ -z "$proxy_include" ]; then
echo "include $conf;" >> $proxy_conf echo "include $conf;" >> $proxy_conf
fi fi
fi
# Adding SSL proxy vhost # Adding SSL proxy vhost
if [ ! -z "$PROXY" ] && [ "$SSL" = 'yes' ]; then if [ ! -z "$PROXY" ] && [ "$SSL" = 'yes' ]; then
@ -611,8 +610,9 @@ if [ "$db" != 'no' ]; then
echo "-- DB --" echo "-- DB --"
msg="$msg\n-- DB --" msg="$msg\n-- DB --"
# Create database list # Create domain list
db_list=$(tar -tf $BACKUP/$backup | grep "/db.conf$" | cut -f 3 -d '/') db_list=$(tar -tf $BACKUP/$backup | grep "^./db" |\
grep db.conf | cut -f 3 -d '/')
if [ ! -z "$db" ]; then if [ ! -z "$db" ]; then
db_include_list=$(mktemp) db_include_list=$(mktemp)
for db_include in ${db//,/ }; do for db_include in ${db//,/ }; do

View file

@ -41,10 +41,12 @@ is_object_unsuspended "mail/$domain" 'ACCOUNT' "$account"
# Action # # Action #
#----------------------------------------------------------# #----------------------------------------------------------#
if [[ "$MAIL_SYSTEM" =~ exim ]]; then
quota=$(get_object_value "mail/$domain" 'ACCOUNT' "$account" '$QUOTA') quota=$(get_object_value "mail/$domain" 'ACCOUNT' "$account" '$QUOTA')
sed -i "/^$account:/d" $HOMEDIR/$user/conf/mail/$domain/passwd sed -i "/^$account:/d" $HOMEDIR/$user/conf/mail/$domain/passwd
str="$account:SUSPENDED:$user:mail::$HOMEDIR/$user:$quota" str="$account:SUSPENDED:$user:mail::$HOMEDIR/$user:$quota"
echo $str >> $HOMEDIR/$user/conf/mail/$domain/passwd echo $str >> $HOMEDIR/$user/conf/mail/$domain/passwd
fi
#----------------------------------------------------------# #----------------------------------------------------------#

View file

@ -39,7 +39,9 @@ is_object_unsuspended 'mail' 'DOMAIN' "$domain"
#----------------------------------------------------------# #----------------------------------------------------------#
# Deleting symbolic link # Deleting symbolic link
if [[ "$MAIL_SYSTEM" =~ exim ]]; then
rm -f /etc/$MAIL_SYSTEM/domains/$domain rm -f /etc/$MAIL_SYSTEM/domains/$domain
fi
#----------------------------------------------------------# #----------------------------------------------------------#
@ -51,7 +53,6 @@ update_object_value 'mail' 'DOMAIN' "$domain" '$SUSPENDED' 'yes'
sed -i "s/SUSPENDED='no'/SUSPENDED='yes'/g" $USER_DATA/mail/$domain.conf sed -i "s/SUSPENDED='no'/SUSPENDED='yes'/g" $USER_DATA/mail/$domain.conf
increase_user_value "$user" '$SUSPENDED_MAIL' increase_user_value "$user" '$SUSPENDED_MAIL'
# Logging # Logging
log_event "$OK" "$EVENT" log_event "$OK" "$EVENT"

View file

@ -41,11 +41,13 @@ is_object_suspended "mail/$domain" 'ACCOUNT' "$account"
# Action # # Action #
#----------------------------------------------------------# #----------------------------------------------------------#
if [[ "$MAIL_SYSTEM" =~ exim ]]; then
md5=$(get_object_value "mail/$domain" 'ACCOUNT' "$account" '$MD5') md5=$(get_object_value "mail/$domain" 'ACCOUNT' "$account" '$MD5')
quota=$(get_object_value "mail/$domain" 'ACCOUNT' "$account" '$QUOTA') quota=$(get_object_value "mail/$domain" 'ACCOUNT' "$account" '$QUOTA')
sed -i "/^$account:/d" $HOMEDIR/$user/conf/mail/$domain/passwd sed -i "/^$account:/d" $HOMEDIR/$user/conf/mail/$domain/passwd
str="$account:$md5:$user:mail::$HOMEDIR/$user:$quota" str="$account:$md5:$user:mail::$HOMEDIR/$user:$quota"
echo $str >> $HOMEDIR/$user/conf/mail/$domain/passwd echo $str >> $HOMEDIR/$user/conf/mail/$domain/passwd
fi
#----------------------------------------------------------# #----------------------------------------------------------#

View file

@ -38,7 +38,9 @@ is_object_suspended 'mail' 'DOMAIN' "$domain"
#----------------------------------------------------------# #----------------------------------------------------------#
# Add symbolic link # Add symbolic link
if [[ "$MAIL_SYSTEM" =~ exim ]]; then
ln -s $HOMEDIR/$user/conf/mail/$domain /etc/$MAIL_SYSTEM/domains/ ln -s $HOMEDIR/$user/conf/mail/$domain /etc/$MAIL_SYSTEM/domains/
fi
#----------------------------------------------------------# #----------------------------------------------------------#
@ -50,7 +52,6 @@ update_object_value 'mail' 'DOMAIN' "$domain" '$SUSPENDED' 'no'
sed -i "s/SUSPENDED='yes'/SUSPENDED='no'/g" $USER_DATA/mail/$domain.conf sed -i "s/SUSPENDED='yes'/SUSPENDED='no'/g" $USER_DATA/mail/$domain.conf
decrease_user_value "$user" '$SUSPENDED_MAIL' decrease_user_value "$user" '$SUSPENDED_MAIL'
# Logging # Logging
log_event "$OK" "$EVENT" log_event "$OK" "$EVENT"

View file

@ -31,6 +31,9 @@ is_object_valid 'user' 'USER' "$user"
is_object_unsuspended 'user' 'USER' "$user" is_object_unsuspended 'user' 'USER' "$user"
is_object_valid 'mail' 'DOMAIN' "$domain" is_object_valid 'mail' 'DOMAIN' "$domain"
is_object_unsuspended 'mail' 'DOMAIN' "$domain" is_object_unsuspended 'mail' 'DOMAIN' "$domain"
if [ -z "$MAIL_SYSTEM" ] || [ "$MAIL_SYSTEM" = 'remote' ]; then
exit
fi
#----------------------------------------------------------# #----------------------------------------------------------#

View file

@ -25,6 +25,9 @@ check_args '1' "$#" 'USER'
validate_format 'user' validate_format 'user'
is_system_enabled "$MAIL_SYSTEM" 'MAIL_SYSTEM' is_system_enabled "$MAIL_SYSTEM" 'MAIL_SYSTEM'
is_object_valid 'user' 'USER' "$user" is_object_valid 'user' 'USER' "$user"
if [ -z "$MAIL_SYSTEM" ] || [ "$MAIL_SYSTEM" = 'remote' ]; then
exit
fi
#----------------------------------------------------------# #----------------------------------------------------------#

View file

@ -425,7 +425,12 @@ rebuild_mail_domain_conf() {
domain_idn=$(idn -t --quiet -a "$domain") domain_idn=$(idn -t --quiet -a "$domain")
get_domain_values 'mail' get_domain_values 'mail'
# Rebuilding config structure if [ "$SUSPENDED" = 'yes' ]; then
SUSPENDED_MAIL=$((SUSPENDED_MAIL +1))
fi
# Rebuilding exim config structure
if [[ "$MAIL_SYSTEM" =~ exim ]]; then
rm -f /etc/$MAIL_SYSTEM/domains/$domain_idn rm -f /etc/$MAIL_SYSTEM/domains/$domain_idn
mkdir -p $HOMEDIR/$user/conf/mail/$domain mkdir -p $HOMEDIR/$user/conf/mail/$domain
ln -s $HOMEDIR/$user/conf/mail/$domain \ ln -s $HOMEDIR/$user/conf/mail/$domain \
@ -452,48 +457,26 @@ rebuild_mail_domain_conf() {
# Adding dkim # Adding dkim
if [ "$DKIM" = 'yes' ]; then if [ "$DKIM" = 'yes' ]; then
U_MAIL_DKMI=$((U_MAIL_DKMI + 1)) cp $USER_DATA/mail/$domain.pem \
pem="$USER_DATA/mail/$domain.pem" $HOMEDIR/$user/conf/mail/$domain/dkim.pem
pub="$USER_DATA/mail/$domain.pub"
openssl genrsa -out $pem 1024 &>/dev/null
openssl rsa -pubout -in $pem -out $pub &>/dev/null
cp $pem $HOMEDIR/$user/conf/mail/$domain/dkim.pem
# Deleting old dkim records
records=$($BIN/v-list-dns-records $user $domain plain)
dkim_records=$(echo "$records" |grep -w '_domainkey'|cut -f 1 -d ' ')
for id in $dkim_records; do
$BIN/v-delete-dns-record $user $domain $id
done
# Adding new dkim dns records
check_dns_domain=$(is_object_valid 'dns' 'DOMAIN' "$domain")
if [ "$?" -eq 0 ]; then
record='_domainkey'
policy="\"t=y; o=~;\""
$BIN/v-add-dns-record $user $domain $record TXT "$policy"
record='mail._domainkey'
p=$(cat $pub|grep -v ' KEY---'|tr -d '\n')
slct="\"k=rsa\; p=$p\""
$BIN/v-add-dns-record $user $domain $record TXT "$slct"
fi
fi fi
# Removing symbolic link # Removing symbolic link if domain is suspended
if [ "$SUSPENDED" = 'yes' ]; then if [ "$SUSPENDED" = 'yes' ]; then
SUSPENDED_MAIL=$((SUSPENDED_MAIL +1))
rm -f /etc/exim/domains/$domain_idn rm -f /etc/exim/domains/$domain_idn
fi fi
# Adding mail directiry
if [ ! -e $HOMEDIR/$user/mail/$domain_idn ]; then if [ ! -e $HOMEDIR/$user/mail/$domain_idn ]; then
mkdir $HOMEDIR/$user/mail/$domain_idn mkdir $HOMEDIR/$user/mail/$domain_idn
fi fi
# Adding catchall email
dom_aliases=$HOMEDIR/$user/conf/mail/$domain/aliases dom_aliases=$HOMEDIR/$user/conf/mail/$domain/aliases
if [ ! -z "$CATCHALL" ]; then if [ ! -z "$CATCHALL" ]; then
echo "*@$domain:$CATCHALL" >> $dom_aliases echo "*@$domain:$CATCHALL" >> $dom_aliases
fi fi
fi
# Rebuild domain accounts # Rebuild domain accounts
accs=0 accs=0
@ -513,9 +496,9 @@ rebuild_mail_domain_conf() {
MD5='SUSPENDED' MD5='SUSPENDED'
fi fi
if [[ "$MAIL_SYSTEM" =~ exim ]]; then
str="$account:$MD5:$user:mail::$HOMEDIR/$user:$QUOTA" str="$account:$MD5:$user:mail::$HOMEDIR/$user:$QUOTA"
echo $str >> $HOMEDIR/$user/conf/mail/$domain/passwd echo $str >> $HOMEDIR/$user/conf/mail/$domain/passwd
for malias in ${ALIAS//,/ }; do for malias in ${ALIAS//,/ }; do
echo "$malias@$domain:$account@$domain" >> $dom_aliases echo "$malias@$domain:$account@$domain" >> $dom_aliases
done done
@ -525,25 +508,20 @@ rebuild_mail_domain_conf() {
if [ "$FWD_ONLY" = 'yes' ]; then if [ "$FWD_ONLY" = 'yes' ]; then
echo "$account" >> $HOMEDIR/$user/conf/mail/$domain/fwd_only echo "$account" >> $HOMEDIR/$user/conf/mail/$domain/fwd_only
fi fi
fi
done done
# Set permissions # Set permissions and ownership
if [[ "$MAIL_SYSTEM" =~ exim ]]; then
chmod 660 $USER_DATA/mail/$domain.* chmod 660 $USER_DATA/mail/$domain.*
chmod 771 $HOMEDIR/$user/conf/mail/$domain chmod 771 $HOMEDIR/$user/conf/mail/$domain
chmod 660 $HOMEDIR/$user/conf/mail/$domain/* chmod 660 $HOMEDIR/$user/conf/mail/$domain/*
chmod 771 /etc/$MAIL_SYSTEM/domains/$domain_idn chmod 771 /etc/$MAIL_SYSTEM/domains/$domain_idn
chmod 770 $HOMEDIR/$user/mail/$domain_idn chmod 770 $HOMEDIR/$user/mail/$domain_idn
chown -R $MAIL_USER:mail $HOMEDIR/$user/conf/mail/$domain
# Set ownership
if [ "$MAIL_SYSTEM" = 'exim' ]; then
mail_user=exim
fi
if [ "$MAIL_SYSTEM" = 'exim4' ]; then
mail_user=Debian-exim
fi
chown -R $mail_user:mail $HOMEDIR/$user/conf/mail/$domain
chown -R dovecot:mail $HOMEDIR/$user/conf/mail/$domain/passwd chown -R dovecot:mail $HOMEDIR/$user/conf/mail/$domain/passwd
chown $user:mail $HOMEDIR/$user/mail/$domain_idn chown $user:mail $HOMEDIR/$user/mail/$domain_idn
fi
# Update counters # Update counters
update_object_value 'mail' 'DOMAIN' "$domain" '$ACCOUNTS' "$accs" update_object_value 'mail' 'DOMAIN' "$domain" '$ACCOUNTS' "$accs"