Skip to content

Commit c223dbd

Browse files
authored
Fix issue with autoreply + Exim 4.94.4 (hestiacp#2151)
* Fix issue with autoreply + Exim 4.94.4 * Upgrade script for current installs
1 parent db4b78f commit c223dbd

File tree

6 files changed

+24
-3
lines changed

6 files changed

+24
-3
lines changed

bin/v-add-mail-account

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -70,6 +70,8 @@ if [[ "$MAIL_SYSTEM" =~ exim ]]; then
7070
fi
7171
str="$account:$md5:$user:mail::$HOMEDIR/$user:${quota}:userdb_quota_rule=*:storage=${quota}M"
7272
echo $str >> $HOMEDIR/$user/conf/mail/$domain/passwd
73+
userstr="$account:$account:$user:mail:$HOMEDIR/$user"
74+
echo $str >> $HOMEDIR/$user/conf/mail/$domain/accounts
7375
fi
7476

7577
# Create mail account folder (mailbox)

bin/v-add-mail-domain

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -115,6 +115,7 @@ if [[ "$MAIL_SYSTEM" =~ exim ]]; then
115115
touch $HOMEDIR/$user/conf/mail/$domain/aliases
116116
touch $HOMEDIR/$user/conf/mail/$domain/passwd
117117
touch $HOMEDIR/$user/conf/mail/$domain/fwd_only
118+
touch $HOMEDIR/$user/conf/mail/$domain/accounts
118119
ln -s $HOMEDIR/$user/conf/mail/$domain \
119120
/etc/$MAIL_SYSTEM/domains/$domain_idn
120121

@@ -154,6 +155,7 @@ if [[ "$MAIL_SYSTEM" =~ exim ]]; then
154155
if [ "$IMAP_SYSTEM" = 'dovecot' ]; then
155156
chown -R dovecot:mail $HOMEDIR/$user/conf/mail/$domain/passwd
156157
fi
158+
chown $MAIL_USER:mail $HOMEDIR/$user/conf/mail/$domain/accounts
157159
chown $user:mail $HOMEDIR/$user/mail/$domain_idn
158160
fi
159161

bin/v-delete-mail-account

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,7 @@ if [[ "$MAIL_SYSTEM" =~ exim ]]; then
5959

6060
sed -i "/^$account@$domain_idn:/d" $HOMEDIR/$user/conf/mail/$domain/aliases
6161
sed -i "/^$account:/d" $HOMEDIR/$user/conf/mail/$domain/passwd
62+
sed -i "/^$account:/d" $HOMEDIR/$user/conf/mail/$domain/accounts
6263
sed -i "/^$account$/d" $HOMEDIR/$user/conf/mail/$domain/fwd_only
6364
rm -rf $HOMEDIR/$user/mail/$domain/$account
6465
fi

func/rebuild.sh

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -541,13 +541,15 @@ rebuild_mail_domain_conf() {
541541
mkdir -p $HOMEDIR/$user/conf/mail/$domain
542542
ln -s $HOMEDIR/$user/conf/mail/$domain \
543543
/etc/$MAIL_SYSTEM/domains/$domain_idn
544+
rm -f $HOMEDIR/$user/conf/mail/$domain/accounts
544545
rm -f $HOMEDIR/$user/conf/mail/$domain/aliases
545546
rm -f $HOMEDIR/$user/conf/mail/$domain/antispam
546547
rm -f $HOMEDIR/$user/conf/mail/$domain/antivirus
547548
rm -f $HOMEDIR/$user/conf/mail/$domain/protection
548549
rm -f $HOMEDIR/$user/conf/mail/$domain/passwd
549550
rm -f $HOMEDIR/$user/conf/mail/$domain/fwd_only
550551
rm -f $HOMEDIR/$user/conf/mail/$domain/ip
552+
touch $HOMEDIR/$user/conf/mail/$domain/accounts
551553
touch $HOMEDIR/$user/conf/mail/$domain/aliases
552554
touch $HOMEDIR/$user/conf/mail/$domain/passwd
553555
touch $HOMEDIR/$user/conf/mail/$domain/fwd_only
@@ -624,6 +626,8 @@ rebuild_mail_domain_conf() {
624626
fi
625627
str="$account:$MD5:$user:mail::$HOMEDIR/$user:${QUOTA}:userdb_quota_rule=*:storage=${QUOTA}M"
626628
echo $str >> $HOMEDIR/$user/conf/mail/$domain/passwd
629+
userstr="$account:$account:$user:mail:$HOMEDIR/$user"
630+
echo $userstr >> $HOMEDIR/$user/conf/mail/$domain/accounts
627631
for malias in ${ALIAS//,/ }; do
628632
echo "$malias@$domain_idn:$account@$domain_idn" >> $dom_aliases
629633
done
@@ -647,6 +651,7 @@ rebuild_mail_domain_conf() {
647651
if [ "$IMAP_SYSTEM" = "dovecot" ]; then
648652
chown -R dovecot:mail $HOMEDIR/$user/conf/mail/$domain/passwd
649653
fi
654+
chown $MAIL_USER:mail $HOMEDIR/$user/conf/mail/$domain/accounts
650655
chown $user:mail $HOMEDIR/$user/mail/$domain_idn
651656
fi
652657

install/deb/exim/exim4.conf.4.94.template

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -413,8 +413,8 @@ address_reply:
413413

414414
userautoreply:
415415
driver = autoreply
416-
file = /etc/exim4/domains/${lookup{$domain}dsearch{/etc/exim4/domains/}}/autoreply.${lookup{$local_part}dsearch{${extract{5}{:}{${lookup{$local_part}lsearch{/etc/exim4/domains/${lookup{$domain}dsearch{/etc/exim4/domains/}}/passwd}}}}/mail/${lookup{$domain}dsearch{/etc/exim4/domains/}}}}.msg
417-
from = "${lookup{$local_part}dsearch{${extract{5}{:}{${lookup{$local_part}lsearch{/etc/exim4/domains/${lookup{$domain}dsearch{/etc/exim4/domains/}}/passwd}}}}/mail/${lookup{$domain}dsearch{/etc/exim4/domains/}}}}@${lookup{$domain}dsearch{/etc/exim4/domains/}}"
416+
file = /etc/exim4/domains/${lookup{$domain}dsearch{/etc/exim4/domains/}}/autoreply.${extract{1}{:}{${lookup{$local_part}lsearch{/etc/exim4/domains/${lookup{$domain}dsearch{/etc/exim4/domains/}}/accounts}}}}.msg
417+
from = "${extract{1}{:}{${lookup{$local_part}lsearch{/etc/exim4/domains/${lookup{$domain}dsearch{/etc/exim4/domains/}}/accounts}}}}@${lookup{$domain}dsearch{/etc/exim4/domains/}}"
418418
headers = Content-Type: text/plain; charset=utf-8;\nContent-Transfer-Encoding: 8bit
419419
subject = "${if def:h_Subject: {Autoreply: \"${rfc2047:$h_Subject:}\"} {Autoreply Message}}"
420420
to = "${sender_address}"

install/upgrade/versions/1.4.15.sh

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,4 +17,15 @@
1717

1818
if [ ! -z "$DB_PMA_ALIAS" ]; then
1919
$HESTIA/bin/v-change-sys-db-alias 'pma' $DB_PMA_ALIAS
20-
fi
20+
fi
21+
22+
exim_version=$(exim4 --version | head -1 | awk '{print $3}' | cut -f -2 -d .);
23+
if [ "$exim_version" = "4.94" ]; then
24+
echo "[ ! ] Fix issue with Exim and "
25+
if [ -f "/etc/exim4/exim4.conf.template" ]; then
26+
sed -i 's|file = /etc/exim4/domains/${lookup{$domain}dsearch{/etc/exim4/domains/}}/autoreply.${lookup{$local_part}dsearch{${extract{5}{:}{${lookup{$local_part}lsearch{/etc/exim4/domains/${lookup{$domain}dsearch{/etc/exim4/domains/}}/passwd}}}}/mail/${lookup{$domain}dsearch{/etc/exim4/domains/}}}}.msg|file = /etc/exim4/domains/${lookup{$domain}dsearch{/etc/exim4/domains/}}/autoreply.${extract{1}{:}{${lookup{$local_part}lsearch{/etc/exim4/domains/${lookup{$domain}dsearch{/etc/exim4/domains/}}/accounts}}}}.msg|g' /etc/exim4/exim4.conf.template
27+
sed -i 's| from = "${lookup{$local_part}dsearch{${extract{5}{:}{${lookup{$local_part}lsearch{/etc/exim4/domains/${lookup{$domain}dsearch{/etc/exim4/domains/}}/passwd}}}}/mail/${lookup{$domain}dsearch{/etc/exim4/domains/}}}}@${lookup{$domain}dsearch{/etc/exim4/domains/}}"| from = "${extract{1}{:}{${lookup{$local_part}lsearch{/etc/exim4/domains/${lookup{$domain}dsearch{/etc/exim4/domains/}}/accounts}}}}@${lookup{$domain}dsearch{/etc/exim4/domains/}}"|g' /etc/exim4/exim4.conf.template
28+
fi
29+
fi
30+
31+

0 commit comments

Comments
 (0)