On 3/10/19 9:07 AM, Yassine Chaouche via dovecot wrote:
On 3/9/19 12:41 PM, Monis Monther via dovecot wrote:
Hi,
We have an alias group named x...@example.com
<mailto:x...@example.com>, this alias group has 3 actual users
a...@example.com <mailto:a...@example.com>, b...@example.com
<mailto:b...@example.com> and c...@example.com <mailto:c...@example.com>
We set vacation rule on the generic sieve rule, the problem is that 3
responses are sent to the original sender. (obviously because the
rule is being executed with each user in the alias group)
Is it possible to set auto response only once, we tried the ( :days
1) option but still all 3 respond back.
How can such a setup be achieved. (Single auto response to an alias
group)
CentOS 7.5
dovecot-pigeonhole-2.3.4.1-1.x86_64
dovecot-2.3.4.1-1.x86_64
postfix 2.10-1
--
Best Regards
Monis
Hello Monis,
As a workaround, you can turn x...@example.com into an actual mailbox
and give a...@example.com, b...@example.com and c...@example.com read-only
shared folder access.
Yassine.
As a request for comments and improvements, here's a my script to share
folders via acl files and symlinks (dovecot must be configured
accordingly) :
root@messagerie[10.10.10.19] /usr/local/scripts/mail # cat
sharemailbox.single
#!/bin/bash
function create_link {
l_src=$1
l_dst=$2
l_maildir=$3
t_maildir=$(echo "$3" | tr . ․)
t_dst="$l_dst"/.shared."$t_maildir"
echo pointing "$t_dst" to "$l_src"
echo ln -s "$l_src/" "$t_dst"
ln -s "$l_src/" "$t_dst"
}
function verifier_email {
l_email=$1
if ! searchmailbox.strict.sql $l_email > /dev/null
then
echo "l'utilisateur $l_email n'a pas pu être trouvé dans la
base de données." >&2
return 1
fi
return 0
}
function set_acl {
l_maildir=$1
l_email=$2
echo "giving $l_email access to $l_maildir"
if [ ! -d $l_maildir ]
then
#.Sent isn't there yet.
return
fi
acl_file="$l_maildir/dovecot-acl"
echo "echo user=$l_email lr >> $acl_file"
echo user="$l_email" lr >> "$acl_file"
chown vmail:vmail "$acl_file"
}
if [ "$#" -lt 2 ]
then
echo "usage : $0 part...@domain.com us...@domain.com
us...@domain.com ... "
exit 1
fi
email="$1"
inbox="${email%@*}"
domain="${email#*@}"
src="/var/vmail/$domain/$inbox"
if ! verifier_email "$email"
then
echo "exit at 1"
exit 1
fi
shift
for share_email in $@
do
if ! verifier_email $share_email
then
continue
fi
share_inbox="${share_email%@*}"
share_domain="${share_email#*@}"
share_maildir=/var/vmail/"$share_domain"/"$share_inbox"
#echo grep "$share_email" "$src"/dovecot-acl
if grep "$share_email" "$src"/dovecot-acl > /dev/null 2>&1
then
# then is executed when exit status is 0
# exist status is 0 when there is a match
echo "$share_email" has already access to "$email"
else
set_acl $src $share_email
create_link $src $share_maildir $inbox
fi
done
root@messagerie[10.10.10.19] /usr/local/scripts/mail #