Страница 3 из 4

Re: Exim Mysql DSPAM

Добавлено: 2008-11-28 9:58:30
neyro
Все работает, обучать можно только с того ящика на который пришло письмо вроде бы (я точно в этом вопрсое хз т.к. юзеры у меня ничего не обучают-сделал общую базу и обучаю дспам сам), в 1-м листинге видно, что сообщение нормально проходит и обрабатывается.

Re: Exim Mysql DSPAM

Добавлено: 2008-11-28 10:10:29
m4rkell
neyro писал(а):Все работает, обучать можно только с того ящика на который пришло письмо вроде бы (я точно в этом вопрсое хз т.к. юзеры у меня ничего не обучают-сделал общую базу и обучаю дспам сам), в 1-м листинге видно, что сообщение нормально проходит и обрабатывается.
обучать можно только от пользователя который прописан в /var/db/dspam/group

вот его содержимое:

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

primary:classification:m4rkell@samara.ru
пробовал и

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

primary:classification:*m4rkell@samara.ru
но почему же ошибка эта выдается? когда на обучение отправляю письмо?

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

Nov 28 09:15:12 mail dspam[70154]: Unable to find a valid signature. Aborting.
Nov 28 09:15:12 mail dspam[70154]: process_message returned error -5.  dropping message.

Re: Exim Mysql DSPAM

Добавлено: 2008-11-28 10:22:29
m4rkell
neyro писал(а):Все работает, обучать можно только с того ящика на который пришло письмо вроде бы (я точно в этом вопрсое хз т.к. юзеры у меня ничего не обучают-сделал общую базу и обучаю дспам сам), в 1-м листинге видно, что сообщение нормально проходит и обрабатывается.
А как ты сам его обучешь? Мне тоже самому надо...

Re: Exim Mysql DSPAM

Добавлено: 2008-11-28 15:40:58
neyro
Прийду с работы-скину конфиг, а для обучения я беру письма из ящика mailcopy (в эту папку идут копии всех сообщений).
Кстати...глупый вопрос...но все же.. ты как письмо для обучения пересылаеш ? Я надеюсь как вложение ?

Re: Exim Mysql DSPAM

Добавлено: 2008-11-28 15:51:38
m4rkell
neyro писал(а):Прийду с работы-скину конфиг, а для обучения я беру письма из ящика mailcopy (в эту папку идут копии всех сообщений).
Кстати...глупый вопрос...но все же.. ты как письмо для обучения пересылаеш ? Я надеюсь как вложение ?
Само собой атачем да.

Жду конфиг твой)...а то уж совсем устал крутить его...

Re: Exim Mysql DSPAM

Добавлено: 2008-11-29 21:08:17
m4rkell
ТУК ТУК ) Есть кто живой в выходные...? :bn:

Re: Exim Mysql DSPAM

Добавлено: 2008-11-29 23:01:03
Alex Keda
хто здеся?! :shock:

Re: Exim Mysql DSPAM

Добавлено: 2008-11-30 4:24:17
neyro
Выслал ЛС

Re: Exim Mysql DSPAM

Добавлено: 2008-12-02 9:31:37
m4rkell
Для тех кому интересно! :) Запара была с правами от которых работал DSPAM!
Короче собирать его надо, предварительно откоректировать Makefile строчка там есть

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

user = root
меняем ее на ту откотороый работает exim у меня это

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

user = mailnull
компилим заново и ставим. командой любой аналогичной к примеру top смотрим от какого пользователя работает dspam. Если тот же что и exim то все ок. А так же если ставили поверх, на остановленном dspam чистим базу мускула dspama и папочку /var/db/dspam/data и потом запускаем dspam. Все заработало. Йиииха! Огромное спасибо за помощь Neyro!

Re: Exim Mysql DSPAM

Добавлено: 2008-12-02 9:46:00
serge
m4rkell писал(а):Короче собирать его надо, предварительно откоректировать Makefile строчка там есть

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

user = root
меняем ее на ту откотороый работает exim у меня это

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

user = mailnull
компилим заново и ставим.
Правильней будет в /etc/make.conf это внести.

Re: Exim Mysql DSPAM

Добавлено: 2009-01-12 18:25:23
staskur
m4rkell писал(а):Для тех кому интересно! :) Запара была с правами от которых работал DSPAM!
Короче собирать его надо, предварительно откоректировать Makefile строчка там есть

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

user = root
меняем ее на ту откотороый работает exim у меня это

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

user = mailnull
компилим заново и ставим. командой любой аналогичной к примеру top смотрим от какого пользователя работает dspam. Если тот же что и exim то все ок. А так же если ставили поверх, на остановленном dspam чистим базу мускула dspama и папочку /var/db/dspam/data и потом запускаем dspam. Все заработало. Йиииха! Огромное спасибо за помощь Neyro!
пробовал ставить по обоим вариантам. ошибка одна и та же была.

оказалось что почтовый клиент просто не передает корректно заголовки при пересылке письма с вложением

совершенно не меняя настроек exim попробовал использовать Outlook Express и "ошибка" сразу же пропала ;-)
и по dspam_stats -H user@domen.ru видно что пересылаемые письма учитываются в обучении.

клиентом был некий foxmail :smile:

Re: Exim Mysql DSPAM

Добавлено: 2009-01-14 23:41:49
InventoR
При всем своем желании, не могу заставить dspam обрабатывать письма, или exim...
получается что если ручками его подсовываеш txt файл то dspam.debug сразу сыпет кучу букв и вроде все впорядке.
а как только отправляеш письмо на пользователя прописанного в /var/db/dspam/group или spam- то ничего не получается.
помогите найти ошибочку, только прошу, не в генах главное..
какие конфиги нужны будут, выложу при первой просьбе, просто там много букоф.

Re: Exim Mysql DSPAM

Добавлено: 2009-01-15 0:52:06
serge
Роуты и транспорты экзима, конфиг дспама, group файл, make.conf касаемо опций сбоки dspam, опции сборки указанные в окошке dspam...
логи почтовика при приеме письма, логи dspam при нем же...
пока вроде все... прикрепляй аттачими

Re: Exim Mysql DSPAM

Добавлено: 2009-01-15 10:31:34
InventoR

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

cat /usr/local/etc/exim/configure

begin routers

###############  ADD TO DSPAM
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

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


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}'}}

mysqluser:
  driver = accept
  condition = ${if eq{}{${lookup mysql{SELECT `maildir` FROM `mailbox` \
              WHERE `username`='${quote_mysql:$local_part@$domain}'}}}{no}{yes}}
  transport = mysql_delivery

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
  no_more

begin transports

dspam_addspam_transport:
  driver = pipe
  command = "/usr/local/bin/dspam --user $local_part@$domain --class=spam --source=error"
  return_path_add = false
  return_fail_output = true
  log_output = true
  home_directory = "/var/db/dspam"
  current_directory = "/var/db/dspam"
  user = mailnull
  group = mailnull

dspam_notspam_transport:
  driver = pipe
  command = "/usr/local/bin/dspam --user $local_part@$domain --class=innocent --source=error --deliver=innocent %u"
  return_path_add = false
  return_fail_output = true
  log_output = true
  home_directory = "/var/db/dspam"
  current_directory = "/var/db/dspam"
  user = mailnull
  group = mailnull

dspam_spamcheck_transport:
  driver = pipe
  command = /usr/local/bin/dspam --deliver=innocent --user "$local_part@$domain" -- %u
  user = mailnull
  group = mail
  return_path_add = false
  log_output = true
  return_fail_output = true
  headers_remove        = X-DSPAM-Result

local_delivery_spam_transport:
  driver = pipe
  command = /usr/local/libexec/dovecot/deliver -d $local_part@$domain -m INBOX.Spam
  message_prefix =
  message_suffix =
  delivery_date_add
  envelope_to_add
  return_path_add

remote_smtp:
    driver = smtp

mysql_delivery:
    driver = appendfile
    check_string = ""
    create_directory
    delivery_date_add
    directory = ${lookup mysql{SELECT CONCAT('/var/mail/exim/', `maildir`) \
                FROM `mailbox` WHERE `username`='${local_part}@${domain}'}}
    directory_mode = 770
    envelope_to_add
    group = mail
    maildir_format
    maildir_tag = ,S=$message_size
    message_prefix = ""
    message_suffix = ""
    mode = 0600

address_file:
    driver = appendfile
    delivery_date_add
    envelope_to_add
    return_path_add

address_pipe:
  driver = pipe
  return_output

address_reply:
  driver = autoreply

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

#cat /usr/local/etc/dspam.conf
Home /var/db/dspam
StorageDriver /usr/local/lib/libmysql_drv.so
#StorageDriver /usr/local/lib/libhash_drv.so
TrustedDeliveryAgent "/usr/local/sbin/exim -oMr spam-scanned"
OnFail error
Trust root
Trust mail
Trust mailnull
TrainingMode teft
TestConditionalTraining on
Feature chained noise
Algorithm graham burton
PValue graham
Preference "signatureLocation=headers"
Preference "showFactors=on"
Preference "spamAction=tag"
Preference "spamSubject=SPAM"
AllowOverride trainingMode
AllowOverride spamAction spamSubject
AllowOverride statisticalSedation
AllowOverride enableBNR
AllowOverride enableWhitelist
AllowOverride signatureLocation
AllowOverride showFactors
AllowOverride optIn optOut
AllowOverride whitelistThreshold
MySQLServer     localhost
MySQLPort       3306
MySQLUser               dspam
MySQLPass               SECRET
MySQLDb                 dspam
MySQLConnectionCache    1000
HashRecMax              98317
HashAutoExtend          on
HashMaxExtents          0
HashExtentSize          49157
HashMaxSeek             100
HashConnectionCache     100
IgnoreHeader X-Spam-Status
IgnoreHeader X-Spam-Score
IgnoreHeader X-Spam-Scanned
IgnoreHeader X-Virus-Scanner-Result
IgnoreHeader Date
IgnoreHeader Envelope-to
IgnoreHeader Delivery-date
IgnoreHeader Received
IgnoreHeader User-Agent
IgnoreHeader Content-Type
IgnoreHeader Content-Transfer-Encoding
IgnoreHeader To
Notifications   off
LocalMX 127.0.0.1
SystemLog on
Opt out
MaxMessageSize 200000
ProcessorBias on
#

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

#cat /var/db/dspam/group
primary:classification:*spam@second.ru
#
make.conf пуст.

dspam option

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

SYSLOG
DEBUG
VERBOSE_DEBUG
DAEMON
MYSQL51
MYSQL_COMPRESS
HASH
VIRT_USERS
LONG_USERNAMES
EXIM_LDA
CGI
Вот вроде и все

Re: Exim Mysql DSPAM

Добавлено: 2009-01-15 13:14:35
InventoR
будут у кого-то соображения по данному поводу?

Re: Exim Mysql DSPAM

Добавлено: 2009-01-15 14:51:44
Fedor
Местами вот эти два роутера поменяй.

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

mysqluser:
  driver = accept
  condition = ${if eq{}{${lookup mysql{SELECT `maildir` FROM `mailbox` \
              WHERE `username`='${quote_mysql:$local_part@$domain}'}}}{no}{yes}}
  transport = mysql_delivery

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
В начале dspam потом mysql.

Re: Exim Mysql DSPAM

Добавлено: 2009-01-15 21:22:11
InventoR
Спасибо, так все вроде начало обрабатывать.
Теперь такой вопрос:
есть ящик в который ложаться все дублекаты писем, и вот проблема, после подключения dspam в этот ящик письма начали ложиться задвоенные, то есть одно письмо два раза подрят ложиться.

Re: Exim Mysql DSPAM

Добавлено: 2009-01-15 22:23:38
Fedor
А вообще роутер mysqluser поставь последним после local_delivery_spam_router.
А что в логе exima по поводу дубликата писем?

Re: Exim Mysql DSPAM

Добавлено: 2009-01-15 23:11:07
InventoR
вот лог

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

2009-01-15 22:50:17 1LNYEK-0000Do-Lq <= hateke@wagon-storage.com H=(dsl88-233-12774.ttnet.net.tr) [88.233.49.230] I=[213.247.122.115]:25 P=esmtp S=986 id=251592417.20170710368063@wagon-storage.com from <hateke@wagon-storage.com> for fin@second.local
2009-01-15 22:50:17 1LNYEL-0000EB-Dc <= hateke@wagon-storage.com U=mailnull P=spam-scanned S=1928 id=251592417.20170710368063@wagon-storage.com from <mailnull@mx.second.local> for inbox@second.local
2009-01-15 22:50:17 1LNYEK-0000Do-Lq => inbox (inbox@second.local) <system-filter> R=dspam_spamscan_router T=dspam_spamcheck_transport
2009-01-15 22:50:17 1LNYEL-0000EB-Dc => inbox (inbox@second.local) <system-filter> R=mysqluser T=mysql_delivery
2009-01-15 22:50:17 1LNYEL-0000EB-Dc Completed
2009-01-15 22:50:17 1LNYEL-0000EJ-GQ <= hateke@wagon-storage.com U=mailnull P=spam-scanned S=1975 id=251592417.20170710368063@wagon-storage.com from <mailnull@mx.second.local> for fin@second.local
2009-01-15 22:50:17 1LNYEK-0000Do-Lq => fin <fin@second.local> R=dspam_spamscan_router T=dspam_spamcheck_transport
2009-01-15 22:50:17 1LNYEK-0000Do-Lq Completed
2009-01-15 22:50:17 1LNYEL-0000EJ-GQ => inbox (inbox@second.local) <system-filter> R=mysqluser T=mysql_delivery
2009-01-15 22:50:17 1LNYEL-0000EJ-GQ => fin <fin@second.local> R=mysqluser T=mysql_delivery
2009-01-15 22:50:17 1LNYEL-0000EJ-GQ Completed

Re: Exim Mysql DSPAM

Добавлено: 2009-01-16 9:58:44
Fedor
Действительно доставляются два раза. А что там в system-filter?
Раз
2009-01-15 22:50:17 1LNYEK-0000Do-Lq => inbox (inbox@second.local) <system-filter> R=dspam_spamscan_router T=dspam_spamcheck_transport
2009-01-15 22:50:17 1LNYEL-0000EB-Dc => inbox (inbox@second.local) <system-filter> R=mysqluser T=mysql_delivery
2009-01-15 22:50:17 1LNYEL-0000EB-Dc Completed
...
Два
2009-01-15 22:50:17 1LNYEL-0000EJ-GQ => inbox (inbox@second.local) <system-filter> R=mysqluser T=mysql_delivery
2009-01-15 22:50:17 1LNYEL-0000EJ-GQ => fin <fin@second.local> R=mysqluser T=mysql_delivery
2009-01-15 22:50:17 1LNYEL-0000EJ-GQ Completed

Re: Exim Mysql DSPAM

Добавлено: 2009-01-16 10:19:22
serge
После проверки dspam'ом письма снова проходят обрабоку роутами. Вот и получается что одно и тоже письмо 2 раза приходит. В system-filter добавляйте исключение добавления например после проверки dspam. Как вариант при проверки dspam'ом можно ставить какой-то свой хедер, а в системном фильтре его отлавливать. Или искать хедеры, оставляемые dspam'ом.

Re: Exim Mysql DSPAM

Добавлено: 2009-01-16 12:06:31
InventoR
Спасибо, тут примерно понял, реализую чуть по позже.
А пока хотел бы продолжить тему про настройку этого монстра.
вот письмо

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

X-DSPAM-Result: Innocent
X-DSPAM-Processed: Fri Jan 16 11:35:36 2009
X-DSPAM-Confidence: 0.6000
X-DSPAM-Probability: 0.0000
X-DSPAM-Signature: 497046d8139611994624578
X-DSPAM-Factors: 27,
	тебя, 0.01000,
	Url*chat, 0.01000,
	это, 0.01000,
	X-Priority*3+(Normal), 0.01000,
	Вот, 0.01000,
	*Fri+Jan, 0.01000,
	*From, 0.01000,
	Url*ru, 0.01000,
	*Jan, 0.01000,
	X-Priority*(Normal), 0.01000,
	и, 0.01000,
	X-Mailer*The, 0.01000,
	X-Mailer*Educational, 0.01000,
	X-Priority*3, 0.01000,
	Subject*видео, 0.01000,
	MIME-Version*1.0, 0.01000,
	Они, 0.01000,
	X-Mailer*Bat!, 0.01000,
	Url*http, 0.01000,
	для, 0.01000,
	*Fri, 0.01000,
	*Jan+16, 0.01000,
	*16, 0.01000,
	все, 0.01000,
	X-Mailer*The+Bat!, 0.01000,
	Subject*любительским, 0.40000,
	Message-ID*<490296496.27517178502605, 0.40000
но все равно пользователю приходит как письмо, не могли бы вы объяснить что надо чтобы пометило как спам и положило в соответствующию деректорию?

Re: Exim Mysql DSPAM

Добавлено: 2009-01-16 12:26:48
Fedor
Обучить DSPAM. Сейчас у тебя все письма считаются хорошими.

Re: Exim Mysql DSPAM

Добавлено: 2009-01-22 11:45:03
InventoR
Снова поднимаю данную тему.
Dspam'y скормил уже с пол тысячи писем.
А итог один и тот же, вес писем порядка 27.
Помогите разобраться с этим монстром, а то что-то самому не получается.
какая информация понадобиться, всю предоставлю.

Re: Exim Mysql DSPAM

Добавлено: 2009-01-25 15:59:25
InventoR
прошло время и dspam заработал.
еще и добрые люди помогли.
но дальше проблема, вот тело письма:

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

eceived: from 201.88.87.14 by mail.oaline.com; Sun, 25 Jan 2009 10:10:49 -0300
Date: Sun, 25 Jan 2009 10:10:49 -0300
From: =?koi8-r?B?Iu7Jy8/MwcogR29sZEZsaXJ0Ig==?= <IRA0LU3X4ZD6@oaline.com>
X-Mailer: The Bat! (v3.81.14 Beta) Home
Reply-To: transpireskz@oaline.com
X-Priority: 3 (Normal)
Message-ID: <345415191.93691817342952@oaline.com>
To: fin@gambistroy.ru
Subject: SPAM =?koi8-r?B?7NXe28nKIMTB1MnOxyDyz9PTyck=?=
MIME-Version: 1.0
Content-Type: text/plain;
  charset=koi8-r
Content-Transfer-Encoding: 8bit
X-DSPAM-Result: Spam
X-DSPAM-Processed: Sun Jan 25 15:17:53 2009
X-DSPAM-Confidence: 0.6000
X-DSPAM-Probability: 1.0000
X-DSPAM-Signature: 497c5871192771850117850
X-DSPAM-Factors: 15,
	*Jan+25, 0.99000,
	*From, 0.99000,
	*Jan, 0.99000,
	*25, 0.99000,
	X-Priority*3, 0.99000,
	MIME-Version*1.0, 0.99000,
	*Sun, 0.99000,
	Url*http, 0.99000,
	*Sun+Jan, 0.99000,
	*15, 0.40000,
	*From+transpireskz, 0.40000,
	*oaline.com, 0.40000,
	*transpireskz+oaline.com, 0.40000,
	X-Priority*3+(Normal), 0.40000,
	Subject*датинг, 0.40000

Надоело одиночество?
 Регестрируйтесь на: http://angelmeet.flirtnice.ru/?shjjg
собственно вижу
что тема письма изменилась

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

SPAM Лучший датинг России
добавилось слово SPAM
но в exim есть транспорт:

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

local_delivery_spam_transport:
  driver = pipe
  command = /usr/local/libexec/dovecot/deliver -d $local_part@$domain -m INBOX.Spam
  message_prefix =
  message_suffix =
  delivery_date_add
  envelope_to_add
  return_path_add
  user = mailnull
  group = mailnull
который по идее должен кидать в ящик пользвателя.
включал отладку в dovecot и dspam, не вижу чтобы было какое-то обращение на это дело.
папка со спамом у меня находиться по такому адресу:

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

/var/mail/exim/domain/user/.Jun
помогите правильно разложить спам.