Здравствуйте!Подскажите пожалуйста, как настроить такой фильтр: надо, чтобы определенному пользователю не приходили письма, тело которых совпадает с некоторым регулярным выражением. Использую postfix и amavis, села читать документацию по последнему, но там много всего, а надо срочно... Помогите, пожалуста.
> Здравствуйте!
> Подскажите пожалуйста, как настроить такой фильтр: надо, чтобы определенному пользователю
> не приходили письма, тело которых совпадает с некоторым регулярным выражением. Использую
> postfix и amavis, села читать документацию по последнему, но там много
> всего, а надо срочно... Помогите, пожалуста.Вы, помимо прочего, используете довекот в качестве ЛДА, а в нем есть возможность прогонять письма через сита на языке sieve. Довекот позволяет прогонять всякое письмо через три сита - общесистемное предварительное, пользовательское и общесистемное финальное.
Все, что вам нужно, это в общесистемное предварительное сито добавить правило, которое будет дропать письма, если отправитель и получатель будут соответствовать неким выражениям.
Дополню коллегу. Вернее, предложу альтернативный вариант - выбирать автору. Procmail поможет отцу русской демократии - до LDA в этом случае дело не дойдет. :) Читаем документации на procmail и о том, как сопрячь постфикс с оным. У меня, например, при помощи прокмейла выдираются файлы отчета платежных систем, складируются в отдельной директории и затем отдельным скриптом обрабатываются для занесения в БД.
> 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;
}И вуаля!
[поскипано]
> Вариант с сивом интересней, как минимум, по двум причинам:
> 1. он уже есть там, где есть довекот
> 2. он позволяет через менеджсив соорудить управляемый пользователями серверный сортировщик
> почт.[поскипано]
Спасибо. :) У меня он тоже прикручен к давкоту, но не используется - руки не доходят разобраться с ним. А инструментик действительно мощный - согласен. Как-нибудь покручу.