URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID1
Нить номер: 92186
[ Назад ]

Исходное сообщение
"Фильтр на входящую почту"

Отправлено InfinityNsu , 28-Авг-11 11:23 
Здравствуйте!

Подскажите пожалуйста, как настроить такой фильтр: надо, чтобы определенному пользователю не приходили письма, тело которых совпадает с некоторым регулярным выражением. Использую postfix и amavis, села читать документацию по последнему, но там много всего, а надо срочно... Помогите, пожалуста.


Содержание

Сообщения в этом обсуждении
"Фильтр на входящую почту"
Отправлено DeadLoco , 28-Авг-11 15:59 
> Здравствуйте!
> Подскажите пожалуйста, как настроить такой фильтр: надо, чтобы определенному пользователю
> не приходили письма, тело которых совпадает с некоторым регулярным выражением. Использую
> postfix и amavis, села читать документацию по последнему, но там много
> всего, а надо срочно... Помогите, пожалуста.

Вы, помимо прочего, используете довекот в качестве ЛДА, а в нем есть возможность прогонять письма через сита на языке sieve. Довекот позволяет прогонять всякое письмо через три сита - общесистемное предварительное, пользовательское и общесистемное финальное.

Все, что вам нужно, это в общесистемное предварительное сито добавить правило, которое будет дропать письма, если отправитель и получатель будут соответствовать неким выражениям.



"Фильтр на входящую почту"
Отправлено Дядя_Федор , 28-Авг-11 20:47 
Дополню коллегу. Вернее, предложу альтернативный вариант - выбирать автору. Procmail  поможет отцу русской демократии - до LDA в этом случае дело не дойдет. :) Читаем документации на procmail и о том, как сопрячь постфикс с оным. У меня, например, при помощи прокмейла выдираются файлы отчета платежных систем, складируются в отдельной директории и затем отдельным скриптом обрабатываются для занесения в БД.



"Фильтр на входящую почту"
Отправлено DeadLoco , 28-Авг-11 21:12 
> Procmail  поможет отцу русской демократии

Вариант с сивом интересней, как минимум, по двум причинам:
1. он уже есть там, где есть довекот
2. он позволяет через менеджсив соорудить управляемый пользователями серверный сортировщик почт.

Довекот.конф:


. . . . .
protocols = pop3 imap managesieve
. . . . .
. . . . .
protocol managesieve {
  listen                = 127.0.0.1:2000
  login_executable      = /usr/local/libexec/dovecot/managesieve-login
  mail_executable       = /usr/local/libexec/dovecot/managesieve
  managesieve_implementation_string = dovecot
}

protocol lda {
  postmaster_address    = postmaster
  auth_socket_path      = /var/run/dovecot/auth-master
  deliver_log_format    = mail from %f: %$
  mail_plugins          = quota sieve
  mail_plugin_dir       = /usr/local/lib/dovecot/lda
  sendmail_path         = /usr/local/sbin/exim
  quota_full_tempfail   = no
}

plugin {
. . . . .
. . . . .
  sieve_before          = /usr/local/etc/dovecot/before.sieve
  sieve_dir             = /var/mail/%d/%n
  sieve                 = /var/mail/%d/%n/.dovecot.sieve
  sieve_after           = /usr/local/etc/dovecot/after.sieve
. . . . .
. . . . .
}


В файл before.sieve нужно положить следующее:


# rule:[remover]
if allof (header :contains "From" "aaa@bbb", header :contains "To" "ccc@ddd")
{
        discard;
        stop;
}

И вуаля!



"Фильтр на входящую почту"
Отправлено Дядя_Федор , 29-Авг-11 08:48 
[поскипано]
> Вариант с сивом интересней, как минимум, по двум причинам:
> 1. он уже есть там, где есть довекот
> 2. он позволяет через менеджсив соорудить управляемый пользователями серверный сортировщик
> почт.

[поскипано]

Спасибо. :) У меня он тоже прикручен к давкоту, но не используется - руки не доходят разобраться с ним. А инструментик действительно мощный - согласен. Как-нибудь покручу.