I read the sieve-filter man page so I'll speculate. Granted, I still don't fully understand how sieve and virtual users work as I have never set this up.
"postmaster" is an alias of root and "vmail" is probably just a directory name. So, from the root's command prompt, the environment variables probably aren't totally set up for sieve-filter to understand virtual users.
So, working from the command prompt, you probably have to explicitly specify the .sieve path and leave off the -u argument
# cd /location_of_virtual_user_INBOX # sieve-filter -v /opt/some_global_rules/sieve/managesieve.sieve INBOX
Would is be great if seive-filter had an argument to understand the system's virual user's settings? Of course. I don't know why the developer haven't included it.
-Eric
On 1/24/2022 7:59 AM, Андрей Куницын wrote:
Hello I try to test my sieve script, but found out that it is impossible to use a sieve-filter tool with virtual mail users. It always uses a real user name instead of passed via -u argument.
# sieve-filter -v -u postmaster@domain.tld ~/sieve/managesieve.sieve INBOX sieve-filter(root): Fatal: Unknown user
sudo -u vmail sieve-filter -u postmaster@domain.tld ~/sieve/managesieve.sieve INBOX sieve-filter(vmail): Fatal: Unknown user
Also there is the same question on serverfault, but without an answer. https://serverfault.com/questions/1055407/how-to-make-sieve-filter-use-virtu...
My environment is Ubuntu 20.04 dovecot --version 2.3.7.2 (3c910f64b)
-- Sincerely, Andrey Kunitsyn