update triggers

This commit is contained in:
Serghey Rodin 2014-05-16 21:32:14 +03:00
parent 1287a1e0d5
commit 23a0762219
2 changed files with 48 additions and 25 deletions

View file

@ -1,34 +1,45 @@
#!/bin/bash
# Define exim config
# RHEL or CentOS
if [ -e "/etc/exim/exim.conf" ]; then
# RHEL or CentOS
conf="/etc/exim/exim.conf"
else
# Debian or Ubuntu
conf='/etc/exim/exim.conf'
# Check if fwd_only flag
check_flag=$(grep localuser_fwd_only $conf)
if [ ! -z "$check_flag" ]; then
exit
fi
# Define new router
fwd1='localuser_fwd_only:\n driver = accept\n transport = devnull\n'
fwd2=' condition = \${if exists{/etc/exim/domains/\$domain/fwd_only}'
fwd3='{\${lookup{\$local_part}lsearch{/etc/exim/domains/\$domain/fwd_only}'
fwd4='{true}{false}}}}\n\n'
# Insert router
sed -i "s%localuser_spam:%$fwd1$fwd2$fwd3${fwd4}localuser_spam:%" $conf
fi
# Debian or Ubuntu
if [ -e "/etc/exim4/exim4.conf.template" ]; then
conf="/etc/exim4/exim4.conf.template"
# Check if fwd_only flag
check_flag=$(grep localuser_fwd_only $conf)
if [ ! -z "$check_flag" ]; then
sed -i "s%/exim/domains/%/exim4/domains/i%" $conf
else
# Define new router
fwd1='localuser_fwd_only:\n driver = accept\n transport = devnull\n'
fwd2=' condition = \${if exists{/etc/exim4/domains/\$domain/fwd_only}'
fwd3='{\${lookup{\$local_part}lsearch'
fwd4='{/etc/exim4/domains/\$domain/fwd_only}{true}{false}}}}\n\n'
# Insert router
sed -i "s%localuser_spam:%$fwd1$fwd2$fwd3${fwd4}localuser_spam:%" $conf
fi
fi
# Check existance
if [ ! -e "$conf" ]; then
exit
fi
# Check if fwd_only flag
check_flag=$(grep localuser_fwd_only $conf)
if [ ! -z "$check_flag" ]; then
exit
fi
# Define new router
fwd1='localuser_fwd_only:\n driver = accept\n transport = devnull\n'
fwd2=' condition = \${if exists{/etc/exim/domains/\$domain/fwd_only}'
fwd3='{\${lookup{\$local_part}lsearch{/etc/exim/domains/\$domain/fwd_only}'
fwd4='{true}{false}}}}\n\n'
# Insert router
sed -i "s%localuser_spam:%$fwd1$fwd2$fwd3${fwd4}localuser_spam:%" $conf
# Restart mail server
/usr/local/vesta/bin/v-restart-mail

12
upd/fix_exim_permissions.sh Executable file
View file

@ -0,0 +1,12 @@
#!/bin/bash
if [ -e "/etc/exim4/domains/" ]; then
for domain in $(ls /etc/exim4/domains/); do
domain_link=$(readlink /etc/exim4/domains/$domain)
chown Debian-exim:mail $domain_link
chown Debian-exim:mail /etc/exim4/domains/$domain/*
chown dovecot:mail /etc/exim4/domains/$domain/passwd
done
fi
exit