.dovecot: line 3: error: included personal script 'vacation' does not exist

I'm trying to test a more modular approach to using sieve scripts on my mail server.

Previously I used .dovecot.sieve for everything but I now have conflicting requirements and I thought I'd test having a master script and including multiple includes.

It is dovecot 2.0.9.

I set the following:

sieve = ~/.dovecot.sieve
sieve_dir = ~/sieve

When I do what I need directly in the .dovecot.sieve file it all works fine. But I just tried changing it to the following instead:

require ["include"];
include :personal "filing";
include :personal "vacation";

And when I compile it I get the following error:

# sievec .dovecot.sieve 
.dovecot: line 2: error: included personal script 'filing' does not exist. 
.dovecot: line 3: error: included personal script 'vacation' does not exist. 
.dovecot: error: validation failed.

But they do exist:

# ls -l sieve total 8
-rwxrwxrwx 1 root root 390 Aug 23 14:53 filing.sieve
-rwxrwxrwx 1 root root 740 Aug 23 15:04 vacation.sieve

So why is dovecot not seeing the includes?

I have tried chmod 777 in case it's permissions but that didn't help.

I've tried absolute path names, and putting the include files in different locations, renaming them to not have the sieve suffix, explicitly calling them WITH the sieve suffix but nothing works.

I can't use global because these are account specific requirements.

Does anyone have any ideas why the sievec is failing?

-1
задан 23 August 2017 в 19:42
2 ответа

Йенс был на правильном пути с sievec и config. Я обнаружил, что пока sievec не работал, автоответчик действительно работал так, как задумано, и автоматически компилировал файл.svbin файл. Таким образом, ошибка sievec была отвлекающим маневром, и, к сожалению, я не могу вспомнить, где я читал, что мне нужно было запустить sievec в первую очередь. Я думаю, что это может быть необходимо только для: глобального, а не: личного.

Надеюсь, это поможет любому, у кого такая же ошибка - хотя я не исправил ошибку sievec, я обнаружил, что в ней нет необходимости и файл .svbin автоматически компилировался правильно.

Спасибо.

0
ответ дан 5 December 2019 в 20:23

Проблема в том, что когда вы запускаете sievec , он не знает, какого пользователя вы are и поэтому не знает, где находится ~ / sieve .

Если вы используете параметр -u для sievec , то он не должен компилироваться.

0
ответ дан 5 December 2019 в 20:23

Теги

Похожие вопросы