如何在 dovecot 的 sieve-test 中定义 sieve_global_dir

如何在 dovecot 的 sieve-test 中定义 sieve_global_dir

我创建了一些筛选(dovecot 实现)过滤脚本并想使用 sieve-test 来测试它们。

所有使用全局包含的脚本均失败并显示以下消息

Error: sieve: include: sieve_global_dir not set for :global script include (wanted script 'bugzilla.sieve')

sieve_global_dir 在 dovecot.conf 中设置,并且包含内容在通过 启动时有效deliver

sieve-test如何定义 sieve_global_dir 以便由和读取sievec

提前致谢

答案1

根据 wiki 的部分内容和阅读 dovecot.org 的一些源代码:

http://wiki.dovecot.org/LDA/Sieve/Dovecot

...你应该能够做类似的事情:

export SIEVE_DIR=/some/path
export SIEVE_GLOBAL_DIR=/some/other/path
sievec -d -P /some/file.sieve

源代码很复杂,但如果我正确阅读 Pigeonhole 筛选源代码,lib-sieve/plugins/environment/ 代码将读取您定义的任何内容,并且 sievec 在运行时会检查在环境之外设置这两个值。但我无法确认这一点,因为我没有安装它来测试,YMMV。

答案2

抱歉,但我认为该解决方案不正确。

在 dovecot 2.xx 中执行

export SIEVE_GLOBAL_DIR=/some/other/path

不起作用。

我已将以下行添加到 dovecot.conf 文件(在plugin部分内):

sieve_global_dir=/etc/dovecot/sieve/

一切想法都有效!

显然该路径必须包含一个sieve.global文件。

谢谢。

相关内容