Hello,
I have a dovecot-sieve rule that has been working fine for years which
calls sa-learn whenever a message is moved from or to the Junk folder.
Recently, but I don't know when it started exactly, this no longer
works. I get the following error message in mail.log:
dovecot: imap: Error: Use of uninitialized value $ENV{"PATH"} in split
at /usr/lib/x86_64-linux-gnu/perl-base/File/Spec/Unix.pm line 136.
Error: program exec:/usr/lib/dovecot/sieve-pipe/sa-learn-spam.sh
(2526990): Forcibly terminated with signal 15
Error: sieve: failed to pipe message to program `sa-learn-spam.sh':
refer to server log for more information. [2024-10-16 10:16:51]
Error: sieve: Execution of script
/usr/lib/dovecot/sieve-pipe/report-spam.sieve failed
The content of report-spam.sieve is
require ["vnd.dovecot.pipe", "copy", "imapsieve", "environment",
"variables"];
if environment :matches "imap.user" "*" {
set "username" "${1}";
}
pipe :copy "sa-learn-spam.sh" [ "${username}" ];
So my guess is that one of the require on the first line triggers this
Unix.pm, and it fails because somehow the PATH variable is not set in
this context.
However, I am at a complete loss to determine how to change the
environment variable in the context of dovecot-sieve. And also, I am not
sure why this would be required.
Does somebody know how to fix this problem, or alternatively point me to
the relevant part in the documentation?
Thanks,
Julien
_______________________________________________
dovecot mailing list -- dovecot@dovecot.org
To unsubscribe send an email to dovecot-le...@dovecot.org