Мы — долго запрягаем, быстро ездим, и сильно тормозим.

FreeBSD
  настройка
  подсчёт трафика
  программы
  почтовые системы
  FreeBSD Mail Howto
  exim & dovecot
  exim & courier-imap
  squirrelmail
  exim + saslauthd + courier-imap
  postfix -> exim
  sendmail -> exim
  imapsync
  Postfix + LDAP
  maildrop & postfix
  DSPAM
  Exim + LDAP
  ISPmanager
  Backup MX
  exim + exchange
  exim + dovecot + win2003 AD
  RoundCube
  qmail-ldap + AD
  spamooborona
  exim&dovecot + fetchmail + SSL
  Postfix + DBMail
  Mailgraph
  smfsav
  Exim+PgSQL
  Postfix + Dovecot + Clamav + SpamAssasin + LDAP vs MYSQL
  Simplemail Admin
  MTA qmail full install
  OpenLDAP адресная книга
  POSTFIX Статистики
  Backup MX (exim)
  Exim + dovecot + PgSQL + web
  Exim+dovecot2+dspam
  Возможности Dovecot 2
  Dovecot2 configfiles RUS
  Почтовый сервер по шагам ч.1
  Почтовый сервер по шагам ч.2
  Почтовый сервер по шагам ч.3
  Шелезяки
  Мелочи
  Файловая система
  WWW
  Security
  system
  Games Servers
  X11
  Programming
Очумелые Ручки
OpenBSD
Cisco


www.lissyara.su —> статьи —> FreeBSD —> почтовые системы —> DSPAM

DSPAM extension to exim

Автор: lissyara.


    lissyara: Статья не моя, прислал - Виталий Захаров (aka ded3axap). То, что внизу и в новостях указано, что она моя - недоработка движка сайта, на днях поправлю.

   Рассмотрим добавление в почтовую систему контетсный байес-фильтр DSPAM. Скорость работы DSPAM значительно превосходит скорость работы популярного фильтра SPAMASASSIN, что позволяет использовать его на высоконагруженных системах и на серверах провайдеров.
   Как и любой байесов фильтр, он разбивает каждое письмо на отдельные сегменты и запоминает хеш этих сегментов (которые называет token'ами). Каждому из них он присваеивает определенный "спамовый" или "не спамовый" весовой коэффициент. "Взвешивая" отдельные компоненты письма, фильтр определяет общий "спамовый" коэффициент всего сообщения. Такой принцип работы позволяет, например, определять спам с мусорными "вкраплениями" (например строки, подобные "гчсмрчсм муа удклцуап цуфыв мотыва" в теле письма).
   Система умеет обучаться, используя механизм "обратной связи" с пользователем. Т.е. письма, неправильно классифицированные системой, можно вернуть назад для того, чтобы DSPAM изменил свои правила фильтрации (переназначил весовые коэффициенты для token'ов этого письма). Это важная возможность программы. Ни в коем случае не следует ей пренебрегать.
   Наиболее эффективное использование этой программы - в качестве второго фильтра. Первичный "грубый" отсев стоит проводить самим MTA Exim, благо он обладает широкими возможностями фильтрации.
   Спам, определенный фильтром уничтожать не планируется. Он складывается в отдельную папку, доступную по IMAP. Похожий механизм используется, например, Яндексом.
   Программа умеет использовать все популярные СУБД для хранения token'ов и работы с ними (включая даже СУБД Oracle), а также может хранить данные в файлах в собственном формате.
   Мы рассмотрим установку программы в варианте с СУБД Mysql и файловым хранилищем в качестве резервного варианта. Операционная система, в которой производится установка - FreeBSD (5.x, 6.x). В системе уже установлен Exim и Mysql.
   Следует отметить, что каждому пользователю будет создаваться отдельное хранилище, т.е. обработка спама для каждого пользователя происходит по индивидуальным правилам. Это гораздо лучше с точки зрения точности определения спама, однако более ресурсоемко.
   Пользователи, не накопившие собственную статистическую базу, некоторое время используют "стандартную" базу, обучаемую администратором.

   Установку программы производим из портов:
# cd /usr/port/mail/dspam
# make -s install clean

   В появившемся окошке конфигуратора выбираем следующие опции:
[X] SYSLOG            Logs via syslog 
[X] DEBUG             Enable debugging logging

   Вот тут стоит поставить галочку напротив версии установленной СУБД. В моем случае - MySQL 4.1
[X] MYSQL41           Use MySQL 4.1.x as back-end
[X] MYSQL_COMPRESS    Compress dspam <--> MySQL
[X] HASH              Use hash driver
[X] VIRT_USERS       Enable virtual users (needs SQL back-end !необязательно!) 
[X] LONG_USERNAMES    Usernames longer that OS supports
[X] EXIM_LDA          Use Exim as local delivery agent

после завершения установки необходимо создать базу данных, в которой DSPAM будет хранить списки пользователей и статистические данные (токены и их параметры) и пользователя, который будет получать доступ к ним:
# mysql
mysql> create database dspam;
mysql> grant all on dspam.* to dspam@'localhost' identified by 'SECRET';
mysql> flush privileges;

   Теперь надо создать структуру таблиц БД. Для этого в состав пакета входят
дампы пустых таблиц базы. Загрузить их можно так:

# mysql -h localhost -u dspam -pSECRET dspam 
< /usr/local/share/examples/dspam/mysql/mysql_objects-speed.sql
# mysql -h localhost -u dspam -pSECRET dspam 
< /usr/local/share/examples/dspam/mysql/virtual_users.sql

   Если выскакивают ошибки, скорее всего проблема в правах доступа к БД.
   Теперь создаем конфигурационный файл для самого DSPAM:
# vi /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

   Теперь создаем "классификационного" пользователя. Его база будет использоваться пока пользователь не накопит базу из 1000 "не спамовых" писем или 250 "спамовых". Также фильтр обращается сюда за дополнительными данными, когда затрудняется в точной классификации почтового сообщения.
   К обучению фильтра данного пользователя надо относиться очень осторожно, т.к. каждый реальный пользователь в начале видит результаты работы именно этого набора правил.
   Обучать этот базовый фильтр должен только администратор почтовой системы. Создание пользователя предельно простое. Создаем файл
# vi /var/db/dspam/group

#Содержимое его такое:
primary:classification:local_part@domain.com
[/code]    На этом настройка DSPAM закончена. Проверить его работу можно так:
/usr/local/bin/dspam --debug --deliver=innocent --user 
local_part@domain.com -- %u < spam.txt

   В spam.txt укладываем какое-нибудь спамовое письмо целиком (со всеми заголовками, как оно лежит, например в mailbox'е). Если все хорошо, то в /var/log/dspam/dspam.debug появится что-либо похожее на:
[...]
71997: [12/10/2006 17:32:12] saving signature as 457c1a6c719975209328925
71997: [12/10/2006 17:32:12] libdspam returned probability of 0.013219
71997: [12/10/2006 17:32:12] message result: NOT SPAM
71997: [12/10/2006 17:32:12] delivering message
71997: [12/10/2006 17:32:12] Opening pipe to LDA: /usr/local/sbin/exim -oMr spam-scanned local_part@domain.com
71997: [12/10/2006 17:32:12] LDA returned success
71997: [12/10/2006 17:32:12] DSPAM Instance Shutdown. Exit Code: 0

Что-то в логе не так?
DSPAM пишед "bailing"?
Значед четаем все многа букаф сначала. :-)
Бессымысленно переходить к следующему разделу без нормально настроенного DSPAM.
   Если проблем нет и DSPAM в сообщает в логе о том, что нормально обрабатывает письма, то начинаем встраивать его вызовы в конфигурацию Exim:
   В роутеры надо добавить обработчики для проверки писем DSPAM'ом, а также для обучения системы. Для роутеров ОЧЕНЬ важен порядок их вызова. Внимательно читаем конфигурацию 3 раза и определяем куда будем втыкать вызовы DSPAM для обработки писем. Я как мог, постарался указать расположения важных для почтовой системы роутеров. Так что все просто.
   Мулька в том, что мы перед этим выпьем по 2 пузыря. (с) :-)
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_ROUTER можно взять из конфы Лиссяры.

#SYSTEM/VIRTUAL_ALIASES_ROUTERS также можно взять оттуда.

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

#LOCAL_DELIVERY_ROUTER можно взять из конфы Лиссяры. Там это - dovecot_user.

   С транспортами попроще. Порядок их расположения не важен. Просто копируем это в секцию 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 = mail

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 = mail

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

# Тут создается специальная папка, доступная пользователю по IMAP,
# куда складывается помеченный спам для 
# последующего осмотра и разбора.

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

   Для того, чтобы сообщить системе о пропущенном спаме пользователю следует переслать (Forward as attachment) это письмо на адрес spam-имя_юзера@домен.
   Чтобы сообщить о ложном срабатывании фильтра, пользователю следует переслать (Forward as attachment) это письмо на адрес notspam-имя_юзера@домен.
   Пытаться "захламить" (poison) базы данных пользователей мусором бесполезно. Переобучение происходит только в том случае, если письмо содержит верную неустаревшую сигнатуру.
   Настоятельно рекомендую почитать документацию по Exim (/usr/local/share/doc/exim) и по DSPAM (/usr/local/share/doc/dspam/). Хотя бы для того, чтобы узнать, каким образом база очищается от устаревших
token'ов. :-)

ЗЫ. Лиссяра, у тебя в мануале косяг, в конфе экзима. У тебя роутер dnslookup идет раньше system_aliases, а значит форвард писем вовне пойдет с большой задержкой (он перепишет адрес, а потом положит в очередь, т.к. отправить сразу не сможет).



Ссылка на обсуждение: http://forum.lissyara.su/viewtopic.php?f=14&t=8783.

размещено: 2006-12-12,
последнее обновление: 2007-01-11,
автор: lissyara

оценить статью:

Artem Za..., 2006-12-12 в 19:55:39

Где и как описываются группы для DSpam!

root, 2006-12-18 в 10:46:25

Дспам встал нормально, но при отправке письма откуда-нибудь из мира(с гугла например) дспам вываливаетсяс ошибкой:
2006-12-17 17:13:05 1GvwlF-0004UI-80 ** xxxx@xxx.ru R=dspam_spamscan_router T=dspam_spamcheck_transport: Child process of dspam_spamcheck_transport transport returned 1 from command: /usr/local/bin/dspam

В чем может быть косяк? Конфиги как в статье все.

Eugene, 2007-01-27 в 8:23:08

использовать контентные фильтры - мне кажецца нецелесообразно - при больших потоках сервер просто нагибается.
Пробовал spamassasin (и сразу выкинул) bogofilter и dspam. Вcё это в большей или меньшей степени тормозит.
Кроме того использовать "международные" черные списки - тоже весьма горбато. Эти умники бывает банят целые сети - куда попадают невинные люди.
В общем понаблюдав за спамом сделал так.
Так как спам прет в 99% с затрояненых windowz буржуюских и не только машин

Установил pf+spamd для перенаправления на порт spamd добавил такое правило в pf.conf
 rdr pass inet proto tcp from !<spamd-white> os "Windows" to any port 25 -> 127.0.0.1 port 8025
то есть все коннекты с виндовых хостов на spamd

далее настройки эксима (у меня используется sqlite + dovecot. И есть таблица access)
acl_check_connect:
тут правило которое дропает соединения с отпределенных IP

acl_check_hello:
- дропать коннекты где в HELO пихают мой адрес
- дропать где пустое и неопреленное HELO
- дропать если HELO состоит из одного слова без точек
- дропать если пихает мой домен/хост в HELO

acl_check_rcpt:
- если в имени хоста есть adsl,ppp и тому подобное задержка в 20сек
- задержка в 20 сек если в имени хоста есть последовательноость типа a.b.c.d или a-b-c-d (где a-d числа, так многие провайдеры называют модемные пулы)

- задержка в 20 сек если у отправляеющего хоста нет PTR записи в DNS.

после этого практически весь спам пропал !
пробивается спам теперь только с UNIX хостов, но таких очень мало :)

у меня в день могло наприходить в районе 5-10 спамовых писем сейчас нет ни одного.

в общем если интересно могу написать подробнее. типа статейки :)
куда прислать ?

lissyara, 2007-01-27 в 11:24:08

http://www.lissyara.su/admin_level/
велкам.
==============
а прислать - мне можешь прислать...

spam anti :), 2007-03-30 в 15:08:41

/usr/local/bin/dspam --debug --deliver=innocent --user
local_part@domain.com — %u < spam.txt

почему спам классфиицируется как innocent ?

Олег, 2007-04-04 в 18:09:14

Следует отметить, что если вы используете dspam в связке с qmail+vpopmail последний должен быть версии не ниже 5.3.7 (с опцией --enable-make-seekable, она yes по умолчанию), иначе не работает конструкция вида:
/usr/local/dspam/bin/dspam --user local_part@domain.com --deliver=innocent,spam | /var/vpopmail/bin/vdelivermail '' bounce-no-mailbox

vdelivermail отваливается с ошибкой на несикабельность пайпа (errno 29)

Вотъ.

Al, 2007-10-15 в 16:54:20

Ошибка "Unable to find a valid signature" обычно означает, что для входящего письма нет сигнатуры или письмо НЕ содержит сигнатуры.На spam-имя_юзера@домен надо пересылать прешедшее письмо,а не его копию или копию текста.Сигнатура письма содержится в его "служебной" информации

karoll, 2007-11-22 в 11:52:11

Не сочтите за рекламу...
на днях обнаружил - просто и удобно и поддержка по e-mail есть. Если у вас не очень много писем - рекомендую.

http://so.yandex.ru/companies/so1024.xml

KaMa-CyTpA, 2007-11-22 в 12:07:28

2karoll
Название статьи насколько я вижу DSPAM extension to exim
А по Вашей сцылке там его и близко нет.

googol, 2007-11-23 в 16:03:57

Вы забыли в файле
/var/db/dspam/group
одну МАЛЕНЬКУЮ вещичку вставить :0)

ДО
#Содержимое его такое:
primary:classification:local_part@domain.com

ПОСЛЕ
#Содержимое его такое:
primary:classification:*local_part@domain.com

Согласно официального мануала.
После этого у меня все заработало правильно.

sad, 2008-01-10 в 10:18:12

Вопрос касательно обучения.
пошли на spam-user@domain.ru ошибочно принятый за "хорошее" сообщение и т.п
а, если "нехороший " человек допустим vasy@domain.ru шлет
хорошие письма на spam-petya@domain.ru тем самым снижая вероятность правильной работы dspama ? как подобного избежать?

sad, 2008-01-17 в 0:00:53

Спасибо за ответы, разобрался

artem, 2008-01-30 в 12:48:16

Лиссяра где найти полную статью о чем писал
Eugene, 2007-01-27 в 8:23:08 ?

lissyara, 2008-01-30 в 12:57:02

У евгения. Мне он её прислать не соизволил =)

Ganover, 2008-03-25 в 20:14:04

А что там писать то, Eugene все написал уже....
основное - правило pf
а остальное за exim\ом, как и говориться в этой статье)
Кстати, сам не так давно сижу на ПФ и хочу сказать что настолько это гибкая система, что слезать я с нее , - вжисть не слезу))

John мимо шёл, 2008-05-27 в 15:11:22

В фре-семёрке дспам не собирается - девел версия помечена как сломанная, а стабильная конфликтует по зависимостям (мускул стоит 5.1, оно же хочет 5.0).

John мимо шёл, 2008-06-02 в 12:07:38

Секция local_delivery_spam_transport: у меня заработала только после добавления в конфиг user = mailnull (иначе бастовала с 52й ошибкой). И еще, по умолчанию в связке, которая тут описана - Exim+Dovecot на MySQL + Roundcube как почтовка - ящик для спама создается просто с названием Junk, т.е. доставка спама целиком выглядит так:

local_delivery_spam_transport:
 driver = pipe
 command = /usr/local/libexec/dovecot/deliver -d \
         $local_part@$domain -m Junk
 message_prefix =
 message_suffix =
 delivery_date_add
 envelope_to_add
 return_path_add
 log_output
 user = mailnull

AmdCooper, 2008-06-14 в 17:14:08

Если использовать courier-imap
local_delivery_spam_transport из этого конфига не покатит а посему заменил его на

 local_delivery_spam_transport:
                                                     
   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
(Не забудте переименовать 'ВашаПапка' если будите использовать)

Pr0x1ndei, 2008-06-17 в 6:41:39

Это всё конечно прекрасно если у человека приходило 5-15 писем на ящик в день
а если около 200 - 300 писем на один ящик, при наличии 700 - 800 ящиков на сервере, у меня лично к dspam'у в добавок свой личный блеклист - создал парочку ящиков и зарегистрировался с них на куче сайтов извесного содержания ;) - терь на них спам гигантский сыпеться а поскоку нормальные люди на эти ящики не пишут, то обычным teil -f с грепом выдёргиваем все строчки из екзимлогов где писмо приходило на данный ящик и потом awk'ом от туда выдёргиваем айпишники, тоесть как только какоето письмо пришло на спамовское мыло то автоматически адрес отправителя в блеклист
пришлось ещё скриптик наваять чтобы удблирующиеся адресса удалять
но всёравно спам сыплеца :( причём поиском по блеклисту замечаю что даже иногда из моегоже диапазона

есть ещё подобные извращенские соображения???

serge, 2008-06-17 в 12:06:06

Вобще-то есть dnsbl, который часть спама режет, можно свои проверки добавить и накидавать/списывать спамбаллы на письма, white lists, можно блокировать IP/подсети в файерволе... вобщем вариантов много, а, имхо, ваш не очень удачный.

gpnoz, 2008-09-12 в 14:10:21

2008-09-12 13:49:47 Delay 20s for f79.mail.ru [194.67.57.179] with HELO=f79.mail.ru. Mail from gpnoz@inbox.ru to spam-net@domain.su.
2008-09-12 13:50:07 H=f79.mail.ru [194.67.57.179] F=<prood@inbox.ru> rejected RCPT <spam-net@domain.su>: Unrouteable address

Почему так?
Как dspam вообще обучается?

100pka, 2008-10-09 в 12:26:06

Товарищи, не хочу создавать для этого вопроса отдельную тему на форуме. Вопрос такой, как можно убедиться что мой дспам действительно обучаеться, а не в пустую читает мои письма отправленые на spam-*@*
Так как скормлено ему порядка 50 100% спамовых писем..а он как пропускает их так до сих пор и пропускает....Большие сомнения на счет его 99.9% работы....

Pr0x1ndei, 2008-10-09 в 13:02:52

ну я в среденем в неделю ему скармливаю 1500 пропущеных им писем и он вроде отлично обычаеться

aledin, 2008-10-15 в 8:29:48

to 100pka

Это у тебя вообще ответы эксима, а не дспама.

100pka, 2008-10-15 в 9:25:11

Да ладно, уже не надо) Поставил спамасасин, и все проблемы со спамом ушли, правда теперь надо выбивать машину под мейл более мощную)) Сами знаете почему))

100pka, 2008-10-24 в 14:48:16

Всем снова привет, приношу такие известия, спам асасин - суксЪ !!! Повесил почтовую машину, что тока ресет помог...По этому поставил обратно дспам, и сижу смотрю на статистику, скормлено порядка тысячи писем спамовых, вроде результат уже проростает...
Ребята поделитесь своим опытом, у кого и через скока времени дспам начал уже активно резать спам? Просто интересно, неделя? месяц?

Pr0x1ndei, 2008-12-01 в 4:38:03

to 100pka: сразуже, при трафике более чем 10000 писем в день, один день и полный ящик спама, создаём-с директории спам и неспам, чтобы всё во входящих не лежало и потом тренируем если не создать директории, то вовремя тренировки, во входящие может прилететь спамовское письмо ( хотя мне иногда казалось что дспам_трейн запоминает какие файлы были в директории на момент его запуска и не чекает друие, но если убить какоенибуть писмо то он останавливаеться когда это писмо не находит )

а в борьбе со спамом действует закон больших чисел, чем больше писем тем точнее и качественее можно распознавать спам, ещё у меня были созданы пара ящиков, типо olga@domain.ru которые постоянно находили всякие сканеры, и естественно слали на них писма но поскольк нармальные люди не пишут на эти ящики то отправитель письмаавтоматически отправлялся в блеклист, если это был неизвесный почтовый домен и нормальных писем с него не наблюдалось то добавлял сам домен в блеклист

Lazy caT, 2008-12-08 в 16:40:05

Уважаемые, возможно вопрос не сюда но, мне кажется, в тему...
Стоит Exim+DSPAM+... как заставить DSPAM не проверять локальных отправителей?
Т.е. если письмо идет от vasya@firma.ru на kolya@firma.ru у меня DSPAM ловит и проверяет это письмо... Хоть сейчас у меня больше половины локального народу в Auto whitelist'ах сидят, но всё таки...

staskur, 2009-01-04 в 1:32:51

захотелось задействовать посылку юзерам уведомлений от DSPAM .
по примеру  /var/db/dspam/firstrun.txt.sample и еще пары аналогичных сделал

/var/db/dspam/firstrun.txt — извещение о начале фильтрации спама.
/var/db/dspam/firstspam.txt — извещение о первом обнаруженном письме, содержащем спам.

установил

Notifications   on

послал письмо юзеру. В maillog с удивлением обнаружил что DSPAM в упор не видит созданные файлы

Jan  3 23:41:04 base dspam[18000]: Unable to open file for reading: firstrun.txt  No such file or directory

Jan  3 23:41:04 base dspam[18003]: Unable to open file for reading: firstspam.txt  No such file or directory

чтение родной документации просветления не принесло (никаких упоминаний про то где должны лежать эти файлы не нашел)

в makefile увидел упоминание про ${WRKSRC}/txt/   и
попробовал создать /var/db/dspam/txt/ и скопировал туда созданные файлы txt

послал другому юзеру письмо (прежнему уже незачем, т.к. событие начала фильтрации спама у него уже произошло)

в mailloge уже нет ошибки и юзер получил и посланное письмо и уведомление (по образцу firstrun.txt) о начале фильтрации, правда от имени mailnull@mydomen.ru

вот такой нюанс...

zingel, 2009-06-11 в 4:57:48

cd /usr/port/mail/dspam <-— фуфло, нет такой папки port, а есть ports 8)

OlegMS, 2009-08-21 в 23:07:41

Спасибо.
Дополнение для пользующихся Dovecot: обратите внимание на порт dovecot-antispam. Позволяет обучать спамофильтры (по умолчанию Dspam, но может и другие) просто перемещая письмо из Inbox в Spam и наоборот.

Lazy caT, 2010-05-16 в 20:02:11

В DSPAM 3.9.0.1 есть косяк с записью настроек по умолчанию... WebUI не находит default.prefs.

Чтобы из WebUI корректно настраивать умолчальные параметры необходимо создать директорию default в DSPAM_HOME/data и сделать там симлинк на default.prefs из DSPAM_HOME'a

есть другой вариант, рихтовать admin.cgi...
Но, т.к. там perl, а я в нем не ахти как силен, то первый вариант мне более по душе... :)

d0t, 2010-05-25 в 11:47:26

дня 3 парился не понимал почему classification group не работает %)

dspam-3.9.0_1
dspam.c
<             if (strcasecmp(user,username) == 0 || strncmp(user,"*",1) == 0 ||
---
>             if (strcasecmp(user,username) == 0 || strcmp(user,"*") == 0 ||

bodzilla, 2010-07-16 в 23:37:25

To d0t:

Спасибо, все завелось!

salimk, 2011-09-22 в 10:10:00

Да хуже антиспама не видал уже 3й месяц пашет, каждый день обучаю, и не один спам не поймал, буду переходить обратно на SpamAssasin

ilyakon, 2016-03-17 в 4:05:37

Ставьте новый современный rspamd и забудьте о SpamAssasin как о страшном сне.


Оставьте свой комментарий:
Ваше имя:   *
e-mail:  
жирный
наклонный
подчёркнутый
ссылка
цвет
Нынешний год:   *
 


Хостинг HOST-FOOD

2014-07-27, lissyara
gmirror

Удалённое создание софтверного зеркала средствами gmirror, на диске разбитом с использованием gpart. Использование меток дисков для монтирования разделов.
2013-08-20, zentarim
Scan+Print server FreeBSD 9

Настройка сервера печати и сервера сканирования под управлением операционной системы FreebSD 9 для МФУ Canon PIXMA MP540
2011-11-20, BlackCat
Разъём на WiFi-карту

Делаем съёмной несъёмную антену на WiFi-карте путём установки ВЧ-разъёма
2011-09-14, manefesto
Настройка git+gitosis

Настройка системы контроля версия исходного кода в связке git+gitosis+ssh
подписка

    вверх      
Статистика сайта
Сейчас на сайте находится: 17 чел.
За последние 30 мин было: 63 человек
За сегодня было
1135 показов,
313 уникальных IP
 

  Этот информационный блок появился по той простой причине, что многие считают нормальным, брать чужую информацию не уведомляя автора (что не так страшно), и не оставляя линк на оригинал и автора — что более существенно. Я не против распространения информации — только за. Только условие простое — извольте подписывать автора, и оставлять линк на оригинальную страницу в виде прямой, активной, нескриптовой, незакрытой от индексирования, и не запрещенной для следования роботов ссылки.
  Если соизволите поставить автора в известность — то вообще почёт вам и уважение.

© lissyara 2006-10-24 08:47 MSK

Время генерации страницы 0.0463 секунд
Из них PHP: 38%; SQL: 62%; Число SQL-запросов: 77 шт.
Исходный размер: 142594; Сжатая: 29614