Помогите раскурить DSPAM
Добавлено: 2007-11-21 12:25:57
Все как обычно делаю по статье на этом сайте. Но в статье многие моменты не освещены, man dspam выдает скудную инфу по ключам, доки которые инсталятся тоже ничего толкового не нашел. Итак Freebsd 6,2, exim 4,68, dovecot 1.07, dspam 3.6.8.
Что нужно:
- вести общую базу спама, а не индивидуальную, т.к. рассказать юзерам что нужно слать спам и не спам на адреса spam@ и notspam@ это смерти подобно...
....
- вся почта у меня копируется на отдельный ящик через системный фильтр, с этого ящика и буду сортировать, но в идеале хотелось бы....
- через вэб-интерфейс обучать dspam (только мне, а не всем юзерам)
Что есть:
dspam.conf
/var/db/dspam/group
exim.conf
system_filter
А теперь вопрос. Я не вкурю куда дальше мне двигаться? Вроде настроил вэб интерфейс, но картинка там всегда одна и та же:

Как сделать чтоб в вэбе появлялась почта, и ей мог говорить что спам, а что нет?
Что нужно:
- вести общую базу спама, а не индивидуальную, т.к. рассказать юзерам что нужно слать спам и не спам на адреса spam@ и notspam@ это смерти подобно...

- вся почта у меня копируется на отдельный ящик через системный фильтр, с этого ящика и буду сортировать, но в идеале хотелось бы....
- через вэб-интерфейс обучать dspam (только мне, а не всем юзерам)
Что есть:
dspam.conf
Код: Выделить всё
Home /var/db/dspam
StorageDriver /usr/local/lib/libhash_drv.so
TrustedDeliveryAgent "/usr/local/sbin/exim -oMr spam-scanned" # Exim
OnFail error
Trust root
Trust mail
Trust mailnull
Trust smmsp
Trust daemon
TrainingMode teft
TestConditionalTraining on
Feature chained
Feature whitelist
Algorithm graham burton
PValue graham
Preference "signatureLocation=headers" # 'message' or '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
HashRecMax 98317
HashAutoExtend on
HashMaxExtents 0
HashExtentSize 49157
HashMaxSeek 100
HashConnectionCache 10
IgnoreHeader X-Spam-Status
IgnoreHeader X-Spam-Scanned
IgnoreHeader X-Virus-Scanner-Result
IgnoreHeader X-Spam-Score
IgnoreHeader Date
IgnoreHeader Envelope-to
IgnoreHeader Delivery-date
IgnoreHeader Received
IgnoreHeader User-Agent
IgnoreHeader Content-Type
IgnoreHeader Content-Transfer-Encoding
IgnoreHeader To
Notifications off
PurgeSignatures 14 # Stale signatures
PurgeNeutral 90 # Tokens with neutralish probabilities
PurgeUnused 90 # Unused tokens
PurgeHapaxes 30 # Tokens with less than 5 hits (hapaxes)
PurgeHits1S 15 # Tokens with only 1 spam hit
PurgeHits1I 15 # Tokens with only 1 innocent hit
LocalMX 127.0.0.1
SystemLog on
UserLog on
Opt out
MaxMessageSize 200000
ProcessorBias on
Код: Выделить всё
system:shared:*
Код: Выделить всё
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
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{$local_part}lsearch{/etc/aliases}}
user = mailnull
group = mail
file_transport = address_file
pipe_transport = address_pipe
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
localuser:
driver = accept
check_local_user
# local_part_suffix = +* : -*
# local_part_suffix_optional
transport = local_delivery
cannot_route_message = Unknown user
begin transports
remote_smtp:
driver = smtp
local_delivery:
driver = appendfile
file = /var/mail/$local_part
delivery_date_add
envelope_to_add
return_path_add
group = mail
user = $local_part
mode = 0660
no_mode_fail_narrower
address_pipe:
driver = pipe
return_output
address_file:
driver = appendfile
delivery_date_add
envelope_to_add
return_path_add
address_reply:
driver = autoreply
vacation_reply:
driver = autoreply
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
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
Код: Выделить всё
unseen deliver bigeye@domain.ua
А теперь вопрос. Я не вкурю куда дальше мне двигаться? Вроде настроил вэб интерфейс, но картинка там всегда одна и та же:

Как сделать чтоб в вэбе появлялась почта, и ей мог говорить что спам, а что нет?