Страница 1 из 4
Exim Mysql DSPAM
Добавлено: 2007-12-19 18:25:42
Fedor
Доброе время суток!
Подскажите в чем может быть проблема такого поведения DSPAM'а:
при отправке сообщения на
spam-user@domain.ru происходит вот такая фигня.
dspam_addspam_transport transport output: 19923: [12/14/2007 21:12:31] Unable to find a valid signature. Aborting.
Если даже пробуешь делать
/usr/local/dspam/bin/dspam --debug --deliver=spam --user
user@domain.ru --class=spam --source=error < spam.txt
получаю ответ
Unable to find a valid signature. Aborting.
process_message returned error -5. dropping message.
PS настраивал по статье на этом сайте.
Всего хорошего, Федор
Re: Exim Mysql DSPAM
Добавлено: 2007-12-19 19:42:09
serge
DSpam не смог найти в базе сигнатуру для этого письма. Причины:
1. Письмо не прошло проверку на спам. Т.е. в базе нет записей об этом письме. В exim за это (у меня) отвечает роутер - dspam_spamscan_router (либо что-то подобное у тебя).
2. Сигнатура принадлежит другому пользователю. Такое у меня было когда exim работал на вирт. пользователях, оставшихся от sendmail. Т.е. проверка на спам шла от имени виртуального пользователя, а добавление спам письма от имени реального системного.
Re: Exim Mysql DSPAM
Добавлено: 2007-12-19 20:43:30
Fedor
Точно не первое т.к. я добавляю письмо к спаму или не спаму, т.е. до проверки оно не доходит.
А насчет второго у меня вообще в базе пока нет сообщений соответственно и сигнатур тоже нет.
Я пока не понимаю почему они не хотят добавляться.
Exim все время пишет: Unable to find a valid signature. Aborting.
А вот как написано в документации:
/usr/local/bin/dspam --debug --deliver=innocent --user
local_part@domain.com -- %u < spam.txt
Это выражение проходит.
Re: Exim Mysql DSPAM
Добавлено: 2007-12-19 21:43:42
serge
Письмо должно сперва пройти проверку. После этого его сигнатура и остальные данные заносятся в БД и сигнатура добавляется либо в заголовок, либо в тело письма. После этого письмо, если получило статус спам - доставляется транспортом спам, иначе доставляется получателю как обычно.
Получается если ты передаешь dspam спам письмо, а оно не было проверено и ему не была присвоена сигнатура, то вылазит вышеуказанная ошибка. Мож скомкано, но суть примерно такая.
Покажи содержимое письма со всеми заголовками, которое передаешь dspam'у.
Re: Exim Mysql DSPAM
Добавлено: 2007-12-19 22:06:24
Fedor
Спасибо за разъяснение, завтра попробую. Я просто сначало тестировал добавление спама и не спама, а проверку пока отключил.
Re: Exim Mysql DSPAM
Добавлено: 2007-12-20 10:37:37
Fedor
TO serge: Спасибо за подсказку. Действительно письмо должно сначало пройти проверку, а уже потом его можно переслать на спам или не спам.
Re: Exim Mysql DSPAM
Добавлено: 2008-01-08 15:21:48
Sergio247
У меня примерно такая же проблема!
спам прихдят в хидере появляется что-то типа:
X-DSPAM-Signature: 4782bbab638901876919815
X-DSPAM-Factors: 27,
X-Mailer*Outlook+Build, 0.40000,
X-MimeOLE*V6.00.2900.2527, 0.40000,
X-MimeOLE*By, 0.40000,
Message-ID*differentialeix82>, 0.40000,
Message-ID*<01c850a6$4b689f00$f67847bd+differentialeix82>, 0.40000,
*differentialeix82, 0.40000,
X-Priority*3+(Normal), 0.40000,
при перенаправлении этого письма на
spam-user@domain.my
в /var/log/maillog появляется:
Jan 8 14:06:39 domain dspam[72516]: Unable to find a valid signature. Aborting.
Jan 8 14:06:39 domain dspam[72516]: process_message returned error -5. dropping message.
похоже
1. Письмо не прошло проверку на спам. Т.е. в базе нет записей об этом письме. В exim за это (у меня) отвечает роутер - dspam_spamscan_router (либо что-то подобное у тебя).
этот вариант отпадает
--------------------------------------------------------
2. Сигнатура принадлежит другому пользователю. Такое у меня было когда exim работал на вирт. пользователях, оставшихся от sendmail. Т.е. проверка на спам шла от имени виртуального пользователя, а добавление спам письма от имени реального системного.\
а вот по поводу этого хотелось бы уточнить: откуда берётся ID пользователя и сигнатура, когда приходит письмо как спам?
Exim у меня на виртуальных пользователях,
Re: Exim Mysql DSPAM
Добавлено: 2008-01-08 17:08:44
serge
То кому будет принадлежать сигнатура, зависить от того кто является получателем письма, другими словами от расположения роутера проверки на спам. У меня проверка на спам стоит сразу после dnslookup. Далее уже идут различные алиасы и локальная доставка. Так же в условие роутера проверки на спам добавлено условие, что получатель не является вируальным пользователем. Это позволило устанавливать соответствие сигнатур писем только с реальными пользователями.
В противном случае (если проверка на спам стоит после алиасов) начинаеться расхождение в том, что сигнатура принадлежит виртуальному пользователю (легко проверить по БД), а доставка в спам или неспам идет к реальному.
Re: Exim Mysql DSPAM
Добавлено: 2008-01-08 18:01:15
Fedor
То serge: А не подскажешь сколько писем о спаме надо скормить DSPAMу, чтобы он начал их помечать как спам? А то кормлю, кормлю не в коня корм

Re: Exim Mysql DSPAM
Добавлено: 2008-01-08 18:20:44
serge
Кажеться после 30 спам писем, начал уже сам понимать. Конечно точность поначалу невысокая, но со временем прилично возрастает.
Re: Exim Mysql DSPAM
Добавлено: 2008-01-08 21:24:33
Sergio247
В противном случае (если проверка на спам стоит после алиасов) начинаеться расхождение в том, что сигнатура принадлежит виртуальному пользователю (легко проверить по БД), а доставка в спам или неспам идет к реальному.
в общем при отсылке спама в
user@domain.my
В таблички
добавляется uid->1 username->
user@domain.my
dspam_signature_data
uid->1 signature->4783b9f4774581876919815
при отсылке спама на
spam-user@domain.my
(добавил в dspam_addspam_transport опцию --debug )
в /var/log/dspam/dspam.debug пишет следующее:
Код: Выделить всё
77778: [01/08/2008 20:17:52] No QuarantineAgent option found. Using standard quarantine.
77778: [01/08/2008 20:17:52] DSPAM Instance Startup
77778: [01/08/2008 20:17:52] input args: /usr/local/bin/dspam --debug --user user@domain.my --class=spam --source=error
77778: [01/08/2008 20:17:52] pass-thru args:
77778: [01/08/2008 20:17:52] processing user user@domain.my
77778: [01/08/2008 20:17:52] uid = 26, euid = 0, gid = 6, egid = 6
77778: [01/08/2008 20:17:52] loading preferences for user user@domain.my
77778: [01/08/2008 20:17:52] default preferences empty. reverting to dspam.conf preferences.
77778: [01/08/2008 20:17:52] Loading preferences from dspam.conf
77778: [01/08/2008 20:17:52] using /var/db/dspam/opt-in/user@domain.my.dspam as path
77778: [01/08/2008 20:17:52] using /var/db/dspam/opt-out/user@domain.my.nodspam as path
77778: [01/08/2008 20:17:52] sedation level set to: 0
77778: [01/08/2008 20:17:52] DSPAM Instance Shutdown. Exit Code: 0
в /var/log/maillog
Код: Выделить всё
Jan 8 20:17:52 domain dspam[77778]: Unable to find a valid signature. Aborting.
Jan 8 20:17:52 domain dspam[77778]: process_message returned error -5. dropping message.
ну и сответственно никакго обучения не происходит! где капать?
Re: Exim Mysql DSPAM
Добавлено: 2008-01-08 22:23:05
serge
т.е. вручную находишь в БД эту сигнатуру?
Re: Exim Mysql DSPAM
Добавлено: 2008-01-08 22:32:54
Sergio247
Я таблицки полностью очищаю отправляю письмо и там появляется эта сигнатура, а вот с обучением уже другая ситуация, ничего не происходит, в логи пишется то что я описал выше.
Где дальше капать и какими методами, хотелось бы узнать?
Re: Exim Mysql DSPAM
Добавлено: 2008-01-08 22:42:00
serge
Представленные логи - это логи пометки письма как спам. До этого оно должно было пройти проверку и его сигнатура появиться в БД у соответствующего пользователя. Выше это разжевывалось достаточно подробно.
Re: Exim Mysql DSPAM
Добавлено: 2008-01-09 0:57:35
Sergio247
Письмо проходит проверку через spamd его сигнатура появляется в базе, у письма появляются соответствующие записи в хидере, но когда его отправляешь как спам выдаются записи в логи которые я описал выше! как можно посмотреть какая сигнатура у того письма которое приходит как спам и какому пользователю она?
Re: Exim Mysql DSPAM
Добавлено: 2008-01-09 2:06:08
serge
Банальный поиск по БД

Re: Exim Mysql DSPAM
Добавлено: 2008-01-09 2:53:40
Sergio247
Когда как обучение на спам(
spam-user@domain.my) приходит, в таблицу сигнатур ничё не пишет!
serge помоги плиз пооперативней решить этот вопрос,
как решим с меня на
я в ICQ напишу?
Re: Exim Mysql DSPAM
Добавлено: 2008-01-09 11:18:19
serge
пиши
Re: Exim Mysql DSPAM
Добавлено: 2008-01-09 13:29:37
Alex Keda
serge писал(а):пиши
ответить он не обещал

========
ты ОО уже нашёл или ещё надо?
Re: Exim Mysql DSPAM
Добавлено: 2008-01-09 14:22:54
serge
нада)
Re: Exim Mysql DSPAM
Добавлено: 2008-01-10 18:40:32
Fedor
Подскажите, а как сделать так чтобы DSPAM не добавлял в заголовок Sender:?
Re: Exim Mysql DSPAM
Добавлено: 2008-01-11 10:22:57
Fedor
Если кому интересно, то это можно сделать headers_remove = Sender в транспорте локальной доставки.
ЗЫ: Это для того, чтобы не смущать пользователей office outlook, т.к. он пишет этот заголовок в поле от кого.
А еще, не подскажите почему office outlook все headers убивает, даже если пересылаешь письмо как вложение?
Re: Exim Mysql DSPAM
Добавлено: 2008-01-11 10:35:29
Alex Keda
Fedor писал(а):А еще, не подскажите почему office outlook все headers убивает, даже если пересылаешь письмо как вложение?
потому что мальчик Билли считает что он лучше тебя знает, что тебе надо а что нет.
Re: Exim Mysql DSPAM
Добавлено: 2008-01-11 11:30:04
Fedor
А это можно, как нибудь обойти? Для того чтобы пользователи с office outlook могли обучать DSPAM.
Re: Exim Mysql DSPAM
Добавлено: 2008-01-11 11:32:00
Alex Keda
руками пусть выковыривают сгнатуру, втавляют в письмо и его шлют.
=========
у вас оутглюк лицензионный?
Если да - пинай саппорт M$, если нет - сноси нах
