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

Reply via email to