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

Фильтрация пересылаемой почты.

 , , ,


0

1

Доброго времени суток.

Встала задача фильтровать пересылаемые на внешнюю почту письма.

Как все работает сейчас: Сервисы: sendmail,SA,dovecot. Форвардинг указывается в /etc/aliases в формате:

localUser: user@gmail.com, localUser

Почта фильтруется когда начинает обрабатываться доставка локальному пользователю. Необходимо сделать чтобы фильтровалось перед отсылкой на внешний алиас.

Есть идеи ? Спасибо.

Ответ на: комментарий от router

Эммм.... как бы да ... я чего-то в эту сторону и не глянул ...

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

Хех ... прошу прощения, а можно подробностей, желательно примеров. От настройки почтосерверов я далековат. А реализовать надо ((

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

RFC5228 и сопутствующие. В общем-то, это пользовательские настройки. :-)

Или, действительно, SA подключить к Sendmail через milter.

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

RFC5228 и сопутствующие.

require [«copy»];
redirect :copy «<eml>»;

Куда это в Довекоте пристроить, не знаю. Поддерживает ли он ":copy", тоже не знаю, это из относительно нового.

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

Хех ... прошу прощения, а можно подробностей, желательно примеров.

Если в качестве LDA ( local delivery agent. ПО, которое непосредственно помещает письмо в почтовый ящик пользователя ) использовать dovecot ( dovecot-lda ), то к письму применяются пользовательские sieve фильтры. Например, удалить письма с высоким smap score, перенести письма от bugtrack в отдельный катлог, переслать на другой сервер и пр. Создаёт эти фильтры сам пользователь, через почтовый клиент ( thunderbird с соответствующим плагином, evolution и пр. ) или через веб-морду ( squirrelmail с плагином для sieve )

С sendmail, к счастью, не работал, могу лишь дать ссылку на вики: Dovecot LDA with sendmail. А sieve фильты настраиваются элементарно и без примеров.

router ★★★★★
()

Выкинуть убогий sendmail,
поставить вместо него exim, и кайфовать )

p.s. dovecot оставить.

Novator ★★★★★
()

Привожу решение (собиралось на тестовой виртуалке): Что использовалось: sendmail sendmail-cf spamassassin spamass-milter sendmail-milter

1. Сконфигурировать SA (всё стандартно, для теста): /etc/mail/spamassassin/local.cf

# These values can be overridden by editing ~/.spamassassin/user_prefs.cf
# (see spamassassin(1) for details)

# These should be safe assumptions and allow for simple visual sifting
# without risking lost emails.

required_hits 5
report_safe 0
rewrite_header Subject [SPAM]
whitelist_from sa-milt@localhost.localdomain
whitelist_to    spam@localhost.localdomain
blacklist_from *@microsoft.com

2. Поправить скрипт запуска spamass-milter: /etc/init.d/spamass-milter

...
EXTRA_FLAGS="-r -1 -B spam@localhost.localdomain"
...

3. Добавить фильтрацию принимаемой почты в sendmail: /etc/mail/sendmail.mc

...
INPUT_MAIL_FILTER(`spamassassinmilter', `S=unix:/var/run/spamass-milter/spamass-milter.sock, F=T, T=S:60s;R:60s;E:5m')dnl
...
*путь к сокету может отличаться в зависимости от параметров в стартовом сприпте spamass-milter

4. Пересобираем конфигурацию sendmail. /etc/mail/make

5. Запускаем сервисы sendmail, spamassassin, spamass-milter

В итоге получаем:

220 localhost.localdomain ESMTP Sendmail 8.14.4/8.14.4; Fri, 13 Jul 2012 09:50:1
3 -0400
helo localhost.localdomain
250 localhost.localdomain Hello alex [192.168.2.28], pleased to meet you
mail from: bill@microsoft.com
250 2.1.0 bill@microsoft.com... Sender ok
rcpt to: test
250 2.1.5 test... Recipient ok
data
354 Enter mail, end with "." on a line by itself
I'm a spaaaaaam
.
550 5.7.1 Blocked by SpamAssassin
К адресатам спам не доходит, «оседает» в ящике spam@localhost.localdomain

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