Назад | Перейти на главную страницу

Добавить фильтр по доменам в сито

Как я могу настроить фильтр по доменам в sieve / dovecot?

В документации я вижу настройку для каждого пользователя: sieve = ~ / .dovecot.sieve, а сейчас я использую глобальный фильтр: sieve_before = / etc / dovecot / sieve / global. Однако я хотел бы иметь возможность настраивать фильтры для каждого домена.

Короче - нельзя.

Dovecot разрешает только глобальные сита и сита для каждого пользователя.

before/default/after сита являются глобальными и применяются к каждому сообщению. Если вы уверены, что хотите обрабатывать все сообщения таким же образом, вам необходимо настроить sieve_before фильтр, а не default. Но здесь есть не совсем объясненная ловушка.

sieve_before может состоять из ряда правил. Будет применено первое совпавшее правило, и обработка сита будет остановлена. Если вы хотите, то передать сообщение user сито для дополнительной фильтрации вам нужно добавить глагол keep до конца конкретного правила.

require "fileinto";
# rule:[some_domain]
if header :contains "From" "some.domain.tld"
{
  fileinto "some_domain_tld";
  keep;
}
elseif . . . . . 
{
    . . . . .
   keep;
}
else
{
   keep;
}

Если keep глагол опущен, тогда механизм сита будет рассматривать это как неявный глагол stop и сообщение не будет передано userсито.