@@ -43,35 +43,64 @@ is_package_full 'MAIL_DOMAINS'
4343# Action #
4444# ----------------------------------------------------------#
4545
46- # Adding domain directory and necessary files
47- mkdir $HOMEDIR /$user /conf/mail/$domain
48- mkdir $HOMEDIR /$user /mail/$domain_idn
49- touch $HOMEDIR /$user /conf/mail/$domain /aliases
50- touch $HOMEDIR /$user /conf/mail/$domain /passwd
51-
52- # Adding symlink
53- ln -s $HOMEDIR /$user /conf/mail/$domain /etc/$MAIL_SYSTEM /domains/$domain_idn
54-
55- # Adding antispam protection
56- if [ " $antispam " = ' yes' ]; then
57- touch $HOMEDIR /$user /conf/mail/$domain /antispam
58- fi
59-
60- # Adding antivirus protection
61- if [ " $antivirus " = ' yes' ]; then
62- touch $HOMEDIR /$user /conf/mail/$domain /antivirus
63- fi
46+ # Adding domain to mail.conf
47+ s=" DOMAIN='$domain ' ANTIVIRUS='$antivirus ' ANTISPAM='$antispam ' DKIM='$dkim '"
48+ s=" $s ACCOUNTS='0' U_DISK='0' CATCHALL='' SUSPENDED='no' TIME='$TIME '"
49+ s=" $s DATE='$DATE '"
50+ echo $s >> $USER_DATA /mail.conf
51+ touch $USER_DATA /mail/$domain .conf
6452
65- # Adding dkim
53+ # Generating DKIM keys
6654if [ " $dkim " = ' yes' ]; then
6755 openssl genrsa -out $USER_DATA /mail/$domain .pem $dkim_size & > /dev/null
6856 openssl rsa -pubout -in $USER_DATA /mail/$domain .pem \
6957 -out $USER_DATA /mail/$domain .pub & > /dev/null
70- chmod 660 $USER_DATA /mail/$domain .*
58+ fi
59+
60+ # Set permissions
61+ chmod 660 $USER_DATA /mail/$domain .*
62+ chmod 660 $USER_DATA /mail.conf
63+
64+ # Building exim configs
65+ if [[ " $MAIL_SYSTEM " =~ exim ]]; then
66+ mkdir $HOMEDIR /$user /conf/mail/$domain
67+ mkdir $HOMEDIR /$user /mail/$domain_idn
68+ touch $HOMEDIR /$user /conf/mail/$domain /aliases
69+ touch $HOMEDIR /$user /conf/mail/$domain /passwd
70+ touch $HOMEDIR /$user /conf/mail/$domain /fwd_only
71+ ln -s $HOMEDIR /$user /conf/mail/$domain \
72+ /etc/$MAIL_SYSTEM /domains/$domain_idn
73+
74+ # Adding antispam protection
75+ if [ " $antispam " = ' yes' ]; then
76+ touch $HOMEDIR /$user /conf/mail/$domain /antispam
77+ fi
78+
79+ # Adding antivirus protection
80+ if [ " $antivirus " = ' yes' ]; then
81+ touch $HOMEDIR /$user /conf/mail/$domain /antivirus
82+ fi
7183
72- cp $USER_DATA /mail/$domain .pem $HOMEDIR /$user /conf/mail/$domain /dkim.pem
84+ # Adding dkim support
85+ if [ " $dkim " = ' yes' ]; then
86+ cp -f $USER_DATA /mail/$domain .pem \
87+ $HOMEDIR /$user /conf/mail/$domain /dkim.pem
88+ fi
89+
90+ # Set permission
91+ chmod 771 $HOMEDIR /$user /conf/mail/$domain
92+ chmod 660 $HOMEDIR /$user /conf/mail/$domain /*
93+ chmod 771 /etc/$MAIL_SYSTEM /domains/$domain_idn
94+ chmod 770 $HOMEDIR /$user /mail/$domain_idn
7395
74- # Adding dkim dns records
96+ # Set ownership
97+ chown -R $MAIL_USER :mail $HOMEDIR /$user /conf/mail/$domain
98+ chown -R dovecot:mail $HOMEDIR /$user /conf/mail/$domain /passwd
99+ chown $user :mail $HOMEDIR /$user /mail/$domain_idn
100+ fi
101+
102+ # Adding dkim dns records
103+ if [ ! -z " $DNS_SYSTEM " ] && [ " $dkim " = ' yes' ]; then
75104 check_dns_domain=$( is_object_valid ' dns' ' DOMAIN' " $domain " )
76105 if [ " $? " -eq 0 ]; then
77106 p=$( cat $USER_DATA /mail/$domain .pub| grep -v ' KEY---' | tr -d ' \n' )
@@ -85,34 +114,6 @@ if [ "$dkim" = 'yes' ]; then
85114 fi
86115fi
87116
88- # Adding domain to vesta db
89- s=" DOMAIN='$domain ' ANTIVIRUS='$antivirus ' ANTISPAM='$antispam ' DKIM='$dkim '"
90- s=" $s ACCOUNTS='0' U_DISK='0' CATCHALL='' SUSPENDED='no' TIME='$TIME '"
91- s=" $s DATE='$DATE '"
92-
93- # Set permissions
94- chmod 660 $USER_DATA /mail/$domain .*
95- chmod 771 $HOMEDIR /$user /conf/mail/$domain
96- chmod 660 $HOMEDIR /$user /conf/mail/$domain /*
97- chmod 771 /etc/$MAIL_SYSTEM /domains/$domain_idn
98- chmod 770 $HOMEDIR /$user /mail/$domain_idn
99-
100- # Set ownership
101- if [ " $MAIL_SYSTEM " = ' exim' ]; then
102- mail_user=exim
103- fi
104- if [ " $MAIL_SYSTEM " = ' exim4' ]; then
105- mail_user=Debian-exim
106- fi
107- chown -R $mail_user :mail $HOMEDIR /$user /conf/mail/$domain
108- chown -R dovecot:mail $HOMEDIR /$user /conf/mail/$domain /passwd
109- chown $user :mail $HOMEDIR /$user /mail/$domain_idn
110-
111- echo $s >> $USER_DATA /mail.conf
112- touch $USER_DATA /mail/$domain .conf
113- chmod 660 $USER_DATA /mail.conf
114- chmod 660 $USER_DATA /mail/$domain .conf
115-
116117
117118# ----------------------------------------------------------#
118119# Vesta #
0 commit comments