John Rudd wrote:
Sven Schuster wrote:
Hi David,

On Mon, Nov 27, 2006 at 04:56:55PM -0500, David F. Skoll told us:
Sure.  It's not written in stone that you have to use
spam_assassin_check(). If you'd rather, you can call spam_assassin_status(),
which returns the Mail::SpamAssassin::PerMsgStatus object.  You can then
manipulate that as desired.

thanks for this really fast answer!
Of course you are right, I just thought something like that some
seconds after hitting "y" in mutt to send the mail ;-)
Little bit too late here in .de for doing something productive...



I actually use the report that spam_assassin_check() returns, and sift out the lines that refer to tests.

...


I'll post the subroutine I use for this after I make that leap. It literally just takes a header name variable and the $report result, from spam_assassin_check(), as arguments.

generate_report_headers("X-SpamReport", $report);



Here's the code (I had misremembered the subroutine name, though). If anyone has suggestions for improvements, let me know.


sub add_spam_report_headers {
   my $headername = shift(@_);
   my $report = shift(@_);
   my (@repin, @repout, $temp);

   @repin = split(/\n/, $report);
   while ($repin[0] !~ /Content analysis details:/) {
      shift(@repin);
      }
   shift(@repin);

   for ($i = 0; $i <= $#repin ; $i++) {
      $temp = $repin[$i];
      $temp =~ s/^\s+//;
      $temp =~ s/\s+$//;
      if ( ($temp ne "")
        && ($temp !~ /^(\-|\s)+$/)
        && ($temp !~ /^pts\s+rule\s+name\s+description$/) ) {
         action_add_header($headername, $temp);
         }
      }
   }

_______________________________________________
NOTE: If there is a disclaimer or other legal boilerplate in the above
message, it is NULL AND VOID.  You may ignore it.

Visit http://www.mimedefang.org and http://www.roaringpenguin.com
MIMEDefang mailing list [email protected]
http://lists.roaringpenguin.com/mailman/listinfo/mimedefang

Reply via email to