Trouble with training

Tom Anderson tanderso at oac-design.com
Thu Mar 20 17:30:11 CET 2008


I don't have time to debug this, but I thought I would point out that 
there are functioning scripts in the contrib directory which can be used 
as a basis for perhaps understanding why this isn't working.

Tom

Matthias Andree wrote:
> On Wed, 19 Mar 2008, 'Stefan Geißler' wrote:
> 
>> 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.
> 
> Missing the "test function above" and not knowing PHP much (lack of
> interest and too many security loopholes in deployment), but taking .=
> for a string concatenation operator:
> 
> Does $mailtext contain the separating blank line between header and
> body? That's crucial, since bogofilter treats headers and body
> separately.
> 




More information about the Bogofilter mailing list