dovecot の sieve-test で sieve_global_dir を定義する方法

dovecot の sieve-test で sieve_global_dir を定義する方法

いくつかの sieve (dovecot 実装) フィルター スクリプトを作成し、sieve-test を使用してテストしたいと考えています。

グローバルインクルードを使用しているすべてのスクリプトが次のメッセージで失敗します

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

sieve_global_dir は dovecot.conf で設定されており、 によって起動されると include が機能します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 sieve ソースを正しく読めば、lib-sieve/plugins/environment/ コードは定義したものをすべて読み込み、sievec は実行時に環境からこれら 2 つの値を設定するチェックを行います。ただし、テスト用にインストールしていないため、これを確認することはできません。結果は人によって異なります。

答え2

申し訳ありませんが、その解決策は正しいとは思えません。

dovecot 2.xxでは

export SIEVE_GLOBAL_DIR=/some/other/path

動作しません。

dovecot.conf ファイル (pluginセクション内) に次の行を追加しました。

sieve_global_dir=/etc/dovecot/sieve/

そして、すべての考えはうまくいくのです!

明らかに、そのパスにはsieve.globalファイルが含まれている必要があります。

ありがとう。

関連情報