Hello,
I want to use dspam for spam filtering for users of my department. We
have multiple domains but [EMAIL PROTECTED] is the same user as [EMAIL PROTECTED]
The mails are correctly delivered to the dovecot imap server, but dspam
still makes a difference between [EMAIL PROTECTED] and [EMAIL PROTECTED] In the end
I want the setup to be like this: The administrators can train the
global database and each user can train its own local database. I think
this is possible using shared/merged groups. As backend I use mysql.
Dspam is integrated as content filter in postfix.
I configured dspam using ./configure --prefix=/usr/local --enable-debug
--enable-daemon --enable-syslog --with-storage-driver=mysql_drv,hash_drv
--with-mysql-includes=/usr/include/mysql/
--with-mysql-libraries=/usr/lib/mysql/ --with-logfile=/tmp/dspam.log
--enable-verbose-debug --enable-virtual-users
dspam_stats output after sending some mails to the same user using
different domains
enlighter@<server1>.uni-stuttgart.de TP: 0 TN: 2 FP: 0
FN: 0 SC: 0 NC: 0
enlighter@<server2>.uni-stuttgart.de TP: 0 TN: 3 FP: 0
FN: 0 SC: 0 NC: 0
postfix's master.cf excerpt:
dspam unix - - n - 16 lmtp
-o smtp_send_xforward_command=no
-o smtp_enforce_tls=no
# This is for reinjecting the message from dspam to postfix (which
listens on port 10028)
localhost:10028 inet n - n - - smtpd
-o content_filter=
-o
receive_override_options=no_unknown_recipient_checks,no_header_body_checks
-o smtpd_helo_restrictions=
-o smtpd_client_restrictions=
-o smtpd_sender_restrictions=
-o smtpd_recipient_restrictions=permit_mynetworks,reject
-o mynetworks=127.0.0.0/8
-o smtpd_authorized_xforward_hosts=127.0.0.0/8
postfix's main.cf excerpt:
content_filter = dspam:[127.0.0.1]:10027
mailbox_command = /usr/local/libexec/dovecot/deliver
dspam.conf:
Home /usr/local/var/dspam
StorageDriver /usr/local/lib/libmysql_drv.so
DeliveryHost 127.0.0.1
DeliveryPort 10028
DeliveryIdent localhost
DeliveryProto SMTP
OnFail error
Trust root
Trust mail
Trust mailnull
Trust smmsp
Trust daemon
Debug *
DebugOpt process spam fp
TrainingMode teft
TestConditionalTraining on
Feature whitelist
Algorithm graham burton
Tokenizer chain
PValue bcr
WebStats off
Preference "showFactors=on"
Preference "spamAction=tag"
AllowOverride trainingMode
AllowOverride spamAction spamSubject
AllowOverride statisticalSedation
AllowOverride enableBNR
AllowOverride enableWhitelist
AllowOverride signatureLocation
AllowOverride showFactors
AllowOverride optIn optOut
AllowOverride whitelistThreshold
MySQLServer /var/lib/mysql/mysql.sock
MySQLUser <user>
MySQLPass <passwd>
MySQLDb dspam
MySQLCompress true
HashRecMax 98317
HashAutoExtend on
HashMaxExtents 0
HashExtentSize 49157
HashPctIncrease 10
HashMaxSeek 10
HashConnectionCache 10
Notifications off
LocalMX 127.0.0.1
SystemLog on
UserLog on
Opt in
ParseToHeaders on
ChangeModeOnParse on
ChangeUserOnParse user
ServerPort 10027
ServerPID /var/run/dspam.pid
ServerMode auto
ServerParameters "--deliver=innocent,spam"
ServerIdent "<myserver>"
ProcessorURLContext on
ProcessorBias on
I thought ChaneUserOnParse should do the job, but it doesn't. how can I
change dspam's behavior to the one I need?
Thanks in advance!
Michael