LINUX.ORG.RU
решено ФорумAdmin

dovecot и dovecot-sieve - что-то не фильтрует.

 ,


0

3

Выдалось свободное утро, решил настроить себе seive на vps.

Там postfix, dovecot и postgresql для lookup tables, настраивал по известному гайду на workaround.org

Доустановил пакет dovecot-sieve, пошаманил с настройками вот как:

- прописал mail_home:

mail_home = /var/vmail/%d/%n/home
mail_location = maildir:/var/vmail/%d/%n/Maildir

namespace {
    type = private
    separator = .
    inbox = yes
}

- подключил плагин для lda:

protocol lda {
    auth_socket_path = /var/run/dovecot/auth-master
    postmaster_address = postmaster@example.com
    mail_plugins = sieve
    log_path =
}

- подключил плагин для lmtp:

protocol lmtp {
  mail_plugins = sieve
}

- в директории /var/vmail/domain/user/home создал файл .dovecot.sieve:

require "fileinto";
if header :comparator "i;ascii-casemap" :contains "Subject" "**SPAM**"  {
        fileinto "Trash";
        stop;
}

Конфиг самого плагина вот:

plugin {
  sieve = ~/.dovecot.sieve
  sieve_dir = ~/sieve
}

И что-то не фильтруется ничего. Всё валится в Inbox. ЧЯДНТ?

★★★★★

а ты уверен что это верно?

 require "fileinto";
if header :comparator "i;ascii-casemap" :contains "Subject" "**SPAM**"  {
        fileinto "Trash";
        stop;
}

в стандарте такой пример нашел

if header :contains :comparator "i;octet" "Subject"
                   "MAKE MONEY FAST" {
                discard;
             }

и дай ему для теста чет попроще, без компараторов

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

Вона чо:

Debug: sieve: user's script path /var/vmail/example.org/root/Maildir/.dovecot.sieve doesn't exist (using global script path in stead)

Мало того, что оно ищет в mail_location, так ещё и у рута.

Будем думать дальше.

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

Вообще в идеале я хочу прикрутить это дело к раундкубу. Но для начала надо убедиться, что оно в принципе работает.

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

The ManageSieve configuration consists of ManageSieve protocol settings and Sieve script storage-related settings. The storage-related settings are equal to or shared with settings of the Sieve plugin for Deliver.

Фигу. Сначала придётся починить просто sieve, а потом уже всё остальное.

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

Фигу. Сначала придётся починить просто sieve, а потом уже всё остальное.

може и так, в цайрусе это все как то одновременно заработало, и sieve и sieve manage (:

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

Короче, я победил.

Получается, что sieve интерпретировал

plugin {
  sieve = ~/.dovecot.sieve
  sieve_dir = ~/sieve
}
как хомяк реального пользователя.

Поменял ~/ на /var/vmail/%d/%n/home и вуаля:

Debug: sieve: executing script from /var/vmail/example.org/roman/home/.dovecot.svbin Nov 01 14:23:10 lda(roman@example.org): Info: sieve: msgid=<CAJscGpnKXJPsjLao8VjN_8YoWJEcXystZ6T37dGua0Ekcexg0g@mail.gmail.com>: marked message to be discarded if not explicitly delivered (discard action)

Теперь можно и manage, и всё на свете.

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

Если кому интересно, managesieve поставил по официальной доке, потом прикрутил sieve-плагин для roundcube, опять же по официальной доке, с той разницей, что ничего ниоткуда не качал, всё уже было установлено из пакета. Работает замечательно.

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

Работает, я правда настраивал пару лет назад, но работает.

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