Страница 1 из 1

DSPAM + SO_1024 + EXIM

Добавлено: 2010-07-25 10:04:48
drdim
В общем в дополнении к дспаму решил добавить бесплатную версию спамобороны, благо, что в порте сейчас есть опция, собирать экзим с локальным доставщиком.
К работающей системе собрал со спамобороной, все заработало из коробки, только непонятно по какой причине, экзим отправляет письмо яндексу 2 раза.
Т.е. яндекс помечает данное письмо 2 раза, например, "[SPAM 38.50] [SPAM 50.90] Светотехника по низким ценам". Далее срабатывает dspam, и если его он определят - помещает в спам папку.

что в логах:

Код: Выделить всё

2010-07-23 17:10:58 1OcG9Z-000CHV-Jl <= lawanna556@qip.ru H=mail-relay-01.mailcluster.net [77.221.130.213] I=[217.115.90.150]:25 P=esmtp S=89702 id=2818781B690F480A9FFC812872C4A596@qhfdwlm from <lawanna556@qip.ru> for info@domain.com
2010-07-23 17:10:59 1OcG9a-000CHb-Ta sp-exim: For message from NULL will return ACCEPT, mailfrom: <lawanna556@qip.ru>, rcpto: <info@domain.com>
2010-07-23 17:10:59 1OcG9a-000CHb-Ta <= lawanna556@qip.ru U=mailnull P=spam-scanned S=90804 id=2818781B690F480A9FFC812872C4A596@qhfdwlm from <mailnull@domain.com> for info@domain.com
2010-07-23 17:10:59 1OcG9Z-000CHV-Jl => info <info@domain.com> R=dspam_spamscan_router T=dspam_spamcheck_transport
2010-07-23 17:10:59 1OcG9Z-000CHV-Jl Completed
2010-07-23 17:10:59 1OcG9a-000CHb-Ta => info <info@domain.com> R=dovecot_user T=dovecot_delivery
2010-07-23 17:10:59 1OcG9a-000CHb-Ta Completed
роуты:

Код: Выделить всё

begin routers

dspam_addspam_router:
    driver  = accept
    domains = +local_domains
    local_part_prefix = spam-
    transport = dspam_addspam_transport

dspam_notspam_router:
    driver  = accept
    domains = +local_domains
    local_part_prefix = notspam-
    transport = dspam_notspam_transport

system_aliases:
    driver      = redirect
    allow_fail
    allow_defer
    data = ${lookup mysql{SELECT `goto` FROM `alias` WHERE \
           `address`='${quote_mysql:$local_part@$domain}' OR \
           `address`='${quote_mysql:@$domain}'}}

dspam_spamscan_router:
    driver = accept
    domains                      = +local_domains
    no_verify
    condition = "${if and {{!eq {$received_protocol}{spam-scanned}} \
            {!eq {$received_protocol}{local}} } {1}{0}}"
    transport = dspam_spamcheck_transport
    require_files = /usr/local/bin/dspam
    address_test = false

local_delivery_spam_router:
    driver                       = accept
    domains                      = +local_domains
    condition                    = ${if match{$h_X-DSPAM-Result:}{Spam}}
    transport                    = local_delivery_spam_transport

dnslookup:
    driver = dnslookup
    domains = ! +local_domains
    transport = remote_smtp
    ignore_target_hosts = 0.0.0.0 : 127.0.0.0/8
    no_more

vacation:
  driver = accept
    domains = ${lookup mysql{SELECT domain FROM vacation WHERE \
    domain='${quote_mysql:$domain}' AND \
    email='${quote_mysql:$local_part@$domain}' AND \
    active='1'}{$value}}
 transport = vacation_autoreply
  unseen

dovecot_user:
  driver = accept
  condition = ${lookup mysql{SELECT `goto` FROM \
  `alias` WHERE \
  `address`='${quote_mysql:$local_part@$domain}' OR \
  `address`='${quote_mysql:@$domain}'}{yes}{no}}
  transport = dovecot_delivery
Как быть? По идее спамоборона использует local_delivery но как его отучить отсылать письма 2 раза?

Re: DSPAM + SO_1024 + EXIM

Добавлено: 2010-08-03 11:46:24
drdim
И в догонку, есть идея, чтобы продолжать обучать dspam, после того как последний ошибся. Есть письма, которые спамоборона помечает как спам, а dspam его пропускает. Идея написать кондишн который будет смотреть в заголовке, есть ли X-Spam-Flag: YES, и посылать письмо на обучению дспаму, ну а далее помещать это письмо в папку спама.
Сейчас реализован, только без обучения, с помощью плагина sieve, спам сразу помещается в спам папку без обучения, что уменьшает обучения dspam.
Кто даст совет по написанию роута для экзима?

Re: DSPAM + SO_1024 + EXIM

Добавлено: 2010-08-03 12:01:46
drdim
Все, отбой решено.

Re: DSPAM + SO_1024 + EXIM

Добавлено: 2013-01-23 22:25:41
tom.cat
Как решил?
У меня вот такая шняжка:

Код: Выделить всё

sp-exim: For message from NULL will return ACCEPT, mailfrom: <root@blabla.org>, rcpto: <root@blabla.org.org>