Hi all,
I wonder if using a per-user sieve_before setting (ie: a relative path
to user home, as ~/filter.sieve) is expected to work corretly.
Full disclaimer: I am migrating an old CentOS 6.10 box with dovecot
2.0.9 and an old pigenhole version. I now want to redirect emails from
old account to new account (I have a csv with old->new address pairs).
My first approach using a single, big filter file somewhat works, but it
is not optimal.
I am currently setting sieve_before = /var/vmail/autoreply.sieve, and it
that file I have something as:
...
if header :contains "to" "aaa at olddomain.com"
{
redirect "aaa at newdomain.com";
stop;
}
if header :contains "to" "bbb at olddomain.com"
{
redirect "bbb at newdomain.com";
stop;
}
...
Problem is that whan an email has multiple to or cc, the filter is
evaluated multiple times (one per recipient) and I end with multiple
email copies on the same destination address. For example, sending and
email to aaa at olddomain.com, cc bbb at olddomain.com is evaluated *two*
times: when delivering the email to aaa at olddomain.com, with a
corresponding redirect to aaa at newdomain.com, and when delivering the
email to
bbb at olddomain.com, with *another* redirect to aaa at newdomain.com (ending
with two email copies).
Using a per-user filter file solves the problem, as the filter is
evaluated in the context of the right user only (ie: an email sent to
aaa at olddomain.com, cc bbb at olddomain.com is evaluated only in
aaa at olddomain.com context, with a corresponding single email on
aaa at newdomain.com). However, I would avoid manipulating the already
present per-user file (roundcube.sieve), as I need to add my custom
rules on top of that file. Moreover, users would be able to disable the
redirect filter.
Using a per-user before_sieve filter file seems the right solution, *if*
it works using multiple files rather than a single global one. If not,
do you have any other suggestion/approach to share?
Thanks.
--
Danti Gionatan
Supporto Tecnico
Assyoma S.r.l. - www.assyoma.it [1]
email: g.danti at assyoma.it - info at assyoma.it
GPG public key ID: FF5F32A8