LINUX.ORG.RU
ФорумAdmin

Sieve не сортирует почту по каталогам (Exim4+Dovecot+Clamav+Sieve)


0

1

Добрый день!

Помогите понять, что неверно настроено для сортировки почты по каталогам с помощью Sieve.

настройки dovecot:

protocols = imap imaps pop3 pop3s managesieve
listen = *
disable_plaintext_auth = no
log_timestamp = "%Y-%m-%d %H:%M:%S "
login_greeting = Dovecot ready.
mail_location = maildir:/var/mail/%u
mail_privileged_group = mail
maildir_copy_with_hardlinks = yes
protocol imap {
}

protocol pop3 {
  pop3_uidl_format = %08Xu%08Xv
  mail_plugins =sieve
}
protocol managesieve {
  mail_executable = /usr/lib/dovecot/managesieve
  managesieve_logout_format = bytes ( in=%i : out=%o )
}
  mail_plugin_dir = /usr/lib/dovecot/modules/lda
auth_verbose = no
auth default {
  mechanisms = plain
  passdb pam {
  }
  userdb passwd {
  }
  user = root
}
dict {
}
plugin {
  sieve=~/.dovecot.sieve
  sieve_dir=~/sieve
}

правило sieve (единственное пока):

require "fileinto";
require "reject";
if header :contains "Subject" "test" {
        fileinto "Test";
}

какие еще файлы/логи нужны для диагностики?

Source: dovecot Version: 1:1.2.15-3

Source: exim4 Version: 4.72-2

Debian GNU/Linux squeeze/sid

Спасибо.

> if header :contains «Subject» «test» {

fileinto «Test»;

}



А там никакого inbox нет ? Что корнем считается и относительно чего Test ?

Exim и Clamav тут точно не при чём.

AS ★★★★★
()
Ответ на: комментарий от AS

Test находится на одном уровне с Inbox.

создал Test внутри Inbox и в правиле поменял
fileinto «Test»;
на
fileinto «INBOX.Test»;
и перезапустил dovecot - ничего не поменялось, письма остаются в Inbox.

kvitaliy
() автор топика

А .sieve откомпилировали? Папка /var/mail/username/.Test существует (не помню, создаёт ли её lda сам) ? Смотрите лог dovecot.

markevichus ★★★
()
Ответ на: комментарий от markevichus

> А .sieve откомпилировали? Папка /var/mail/username/.Test существует (не помню, создаёт ли её lda сам) ? Смотрите лог dovecot.

откомпилировал, папка существует, в логе никаких намёков на sieve и обработку правил. Такое впечатление, что он просто не работает.

kvitaliy
() автор топика
Ответ на: комментарий от kvitaliy

Такое впечатление, что он просто не работает.

А сам exim настроен на dovecot lda? В debian lenny записи о sieve в /var/log/dovecot/info.log выглядят примерно так:

2010-11-01 06:41:36 deliver(username): Info: sieve: using sieve path for user's script: /home/username/.dovecot.sieve
2010-11-01 06:41:36 deliver(username): Info: sieve: opening script /home/username/.dovecot.sieve
2010-11-01 06:41:36 deliver(username): Info: sieve: executing compiled script /home/username/.dovecot.sieve
2010-11-01 06:41:36 deliver(username): Info: sieve: msgid=<722301cb7976$a8c7b8b5$8e979558@dropscout.com>: stored mail into mailbox 'Spam'
$ ls -la ~/.dovecot*
-rw------- 1 username Domain Users   478 Мар 27  2010 /home/username/.dovecot.lda-dupes
-rw-r--r-- 1 username Domain Users  1585 Ноя 22 19:43 /home/username/.dovecot.sieve
-rw------- 1 username Domain Users  9981 Ноя 17 10:42 /home/username/.dovecot.sieve.log
-rw------- 1 username Domain Users 10477 Ноя 17 10:37 /home/username/.dovecot.sieve.log.0
-rw-r--r-- 1 username Domain Users  1369 Ноя 22 19:43 /home/username/.dovecot.svbin

markevichus ★★★
()
Ответ на: комментарий от markevichus

У меня так:

~$ cat /var/log/dovecot/info.log | grep sieve
~$

~$ grep -E -v "#|^$"  /etc/dovecot/dovecot.conf

protocols = imap imaps pop3 pop3s managesieve 
listen = *
disable_plaintext_auth = no
info_log_path =/var/log/dovecot/info.log 
log_timestamp = "%Y-%m-%d %H:%M:%S "
login_greeting = Dovecot ready.
mail_location = maildir:/var/mail/%u
mail_privileged_group = mail
maildir_copy_with_hardlinks = yes
protocol imap {
}
  
protocol pop3 {
  pop3_uidl_format = %08Xu%08Xv
  mail_plugins =sieve 
}
protocol managesieve {
  mail_executable = /usr/lib/dovecot/managesieve
  managesieve_logout_format = bytes ( in=%i : out=%o )
}
protocol lda {
  mail_plugins = sieve 
  mail_plugin_dir = /usr/lib/dovecot/modules/lda
}
auth_verbose = no
auth default {
  mechanisms = plain
  passdb pam {
  }
  userdb passwd {
  }
  user = root
}
dict {
}
plugin {
  sieve=~/.dovecot.sieve
  sieve_dir=~/sieve
}
$ ls -lia ~/.dovecot*

total 12
305147 drwxr-xr-x  2 xxxxxxxx yyyyyyyy 4096 Nov 22 21:38 .
106637 drwxr-xr-x 11 xxxxxxxx yyyyyyyy 4096 Nov 24 17:49 ..
305153 -rw-r--r--  1 xxxxxxxx yyyyyyyy  344 Nov 23 20:56 1.svbin

спасибо.

kvitaliy
() автор топика
Ответ на: комментарий от kvitaliy
$ cd 
$ cat .dovecot.sieve
require "fileinto";
require "reject";
if header :contains "Subject" "test" {
        fileinto "Test";
}
$ sievec .dovecot.sieve

Больше ничего не надо переименовывать или удалять. Зачем-то требуется текстовый файл .dovecot.sieve.

markevichus ★★★
()
Ответ на: комментарий от markevichus

без изменений - в логе нет упоминаний о sieve, письма остаются в инбоксе.

kvitaliy
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.