Mark Rogers kirjoitti:
> I'm looking to build a fresh "appliance" based on Ubuntu server (8.04 or
> 8.10), using dSpam 3.8.x, with Postfix

My installation is most likely very un-orthodox, but at least I can 
confirm that DSpam works fine on Ubuntu 8.10, with Postfix and MySQL 
straight from .debs.

Because I have been running DSpam a lot longer any .debs existed for it, 
I have compiled it myself to my system. Especially getting the MySQL 
drivers compiled in was a bit tricky.

My mail path goes postfix -> dspam -> procmail. Because of personal 
preference I do not let dspam to quarantine anything, instead I let it 
just add spamicity indicator to headers and then file the mails per 
headers with procmail.

Here's how dspam is configured for postfix, in /etc/postfix/main.cf:

mailbox_command = /usr/local/bin/dspam --deliver=innocent,spam -d %u 
--user $USER

Add --debug if you want more details logged.

Then in /usr/local/etc/dspam.conf I have specified the MySQL and 
procmail to be used:

StorageDriver /usr/local/lib/libmysql_drv.so
UntrustedDeliveryAgent "/usr/bin/procmail -d %u"

Then, finally, I have a perl script that's run every now and then from 
crontab. For each user I have two special folders, one for false 
positives and one for false negatives. This perl script then scans those 
folders and re-trains and moves any contents:

#!/usr/bin/perl

# first we list all the users

@users = ("user1", "user2", "user3");

# for each user

for $username (@users) {

     print "$username:\n";

     $spamdir = "/home/$username/Maildir/.DSpam"; # i am the maildir 
that should receive caught spams
     $addspamdir = "$spamdir.OnpasSpammia";
     $falsepositivedir = "$spamdir.EipasOleSpammia";

     if (-d $spamdir) {
         print "\tspamdir: $spamdir\n";
     }

     if (-d $addspamdir) {
         print "\t$addspamdir exists...";

         $directory = "$addspamdir/cur";
         $filels = `ls $directory`;
         @HIDDEN = split /\n/,$filels;
         $count = 0;

         for $file (@HIDDEN) {
              `/usr/local/bin/dspam --debug --user $username 
--class=spam --source=error --addspam < $directory/$file`;
#             print "/usr/local/bin/dspam --debug --user $username 
--class=spam --source=error --addspam < $directory/$file";
              `mv -f $directory/$file /home/$username/Maildir/.Trash/cur/`;
#             print "mv -f $directory/$file 
/home/$username/Maildir/.Trash/cur/";
#             `rm -f $directory/$file`;
              $count++;
          }
         print "$count files processed\n";
     } else {
         print "\t$addspamdir doesn't exist.\n";
     }

     if (-d $falsepositivedir) {
         print "\t$falsepositivedir exists...";

         $directory = "$falsepositivedir/cur";
         $filels = `ls $directory`;
         @HIDDEN = split /\n/,$filels;
         $count = 0;

         for $file (@HIDDEN) {
              `/usr/local/bin/dspam --debug --user $username 
--class=innocent --source=error --falsepositive < $director
y/$file`;
#             print "/usr/local/bin/dspam --debug --user $username 
--class=innocent --source=error --falsepositive < $d
irectory/$file";
              `mv -f $directory/$file /home/$username/Maildir/cur/`;
#             print "mv -f $directory/$file /home/$username/Maildir/cur/";
              $count++;
          }
         print "$count files processed\n";
     }

}


I hope this was at least of some use.



        -Jari



------------------------------------------------------------------------------
Apps built with the Adobe(R) Flex(R) framework and Flex Builder(TM) are
powering Web 2.0 with engaging, cross-platform capabilities. Quickly and
easily build your RIAs with Flex Builder, the Eclipse(TM)based development
software that enables intelligent coding and step-through debugging.
Download the free 60 day trial. http://p.sf.net/sfu/www-adobe-com
_______________________________________________
Dspam-user mailing list
Dspam-user@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/dspam-user

Reply via email to