Bogofilter Digest, Vol 46, Issue 3

'Stefan Geißler' stefan.geissler at theimagingsource.com
Thu Mar 20 17:56:57 CET 2008


bogofilter-request at bogofilter.org wrote:
> Send Bogofilter mailing list submissions to
> 	bogofilter at bogofilter.org
> 
> To subscribe or unsubscribe via the World Wide Web, visit
> 	http://www.bogofilter.org/mailman/listinfo/bogofilter
> or, via email, send a message with subject or body 'help' to
> 	bogofilter-request at bogofilter.org
> 
> You can reach the person managing the list at
> 	bogofilter-owner at bogofilter.org
> 
> When replying, please edit your Subject line so it is more specific
> than "Re: Contents of Bogofilter digest..."
> 
> 
> Today's Topics:
> 
>    1. Re: Trouble with training (Matthias Andree)
> 
> 
> ----------------------------------------------------------------------
> 
> Message: 1
> Date: Thu, 20 Mar 2008 12:19:02 +0100
> From: Matthias Andree <matthias.andree at gmx.de>
> Subject: Re: Trouble with training
> To: bogofilter at bogofilter.org
> Message-ID: <20080320111902.GA8773 at merlin.emma.line.org>
> Content-Type: text/plain; charset=iso-8859-1
> 
> 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.
> 

Good point. I test this!


Stefan



More information about the Bogofilter mailing list