Trouble with training

'Stefan Geißler' stefan.geissler at theimagingsource.com
Wed Mar 19 16:33:40 CET 2008


Hi,

I have a problem with training the bogofilter. I use a PHP script. This 
script adds head and body of an email into a file and passes it as 
parameter for training to the filter.
I use following functions:

1.) Retrieve the email header:
function getplainheader()
{
  return 
imap_fetchheader($this->rm_mailbox,$this->rm_currentmessage,FT_UID|FT_INTERNAL|FT_PREFETCHTEXT 
);
}

2.) Retrieve the mail body:
function dump_body2()
{
   return 
imap_body($this->rm_mailbox,$this->rm_currentmessage,FT_UID|FT_INTERNAL);
}

Then I do following:
function evaluate_bogospam($rcmail )
{
     $mailtext = $rcmail->getplainheader();
     $mailtext .= $rcmail->dump_body2();

     if( trim( $mailtext ) != "" )
     {
         $filename = 
"/home/wwwdev/public_html/develope/receivemail/mailbody";
         $fp = @fopen( $filename, "w" );
         @fputs( $fp, $mailtext );
         @fclose( $fp );

         $cmd = "bogofilter -T -d /home/wwwdev/public_html/local -I 
".$filename;

         exec( $cmd, $ausgabe2, $returnvar );

         echo "Bogo Filter return value : ".$returnvar . "   :   " . 
$ausgabe2[0]."<br>";
     }
}

The problem is, that I get in bogosity an "unknown" while the test 
function above gives me a clear "spam". The related mail was trained 
before in the same way as shown above.

What am I doing wrong? What is the difference to procmail?

Thank you in advance
Stefan




More information about the Bogofilter mailing list