
いくつかの 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
ファイルが含まれている必要があります。
ありがとう。