unixdev.net


Switch to SpeakEasy.net DSL

The Modular Manual Browser

Home Page
Manual: (Debian-5.0)
Page:
Section:
Apropos / Subsearch:
optional field

Mail::Box::Search::SpaUseraContributed PerMail::Box::Search::SpamAssassin(3pm)



NAME
       Mail::Box::Search::SpamAssassin - select spam messages with
       Mail::SpamAssassin

INHERITANCE
        Mail::Box::Search::SpamAssassin
          is a Mail::Box::Search
          is a Mail::Reporter

SYNOPSIS
        use Mail::Box::Manager;
        my $mgr    = Mail::Box::Manager->new;
        my $folder = $mgr->open('Inbox');

        my $spam = Mail::Box::Search::SpamAssassin->new;
        if($spam->search($message)) {...}

        my @msgs   = $filter->search($folder);
        foreach my $msg ($folder->messages)
        {   $msg->delete if $msg->label('spam');
        }

        my $spam2 = Mail::Box::Search::SpamAssassin
                      ->new(deliver => 'DELETE');
        $spam2->search($folder);
        $mgr->moveMessages($spamfolder, $folder->messages('spam'));

DESCRIPTION
       Spam means "unsollicited e-mail", and is as name derived from a Monty
       Python scatch.  Although Monty Python is fun, spam is a pain: it
       needlessly spoils minutes of time from most people: telephone bills,
       overful mailboxes which block honest e-mail, and accidentally removal
       of honest e-mail which looks like spam.  Spam is the pest of Internet.

       Happily, Mail::Box can be used as spam filter, in combination with the
       useful Mail::SpamAssassin module (which must be installed separately).
       Each message which is searched is wrapped in a
       Mail::Message::Wrapper::SpamAssassin object.

       The spam-assassin module version 2 is not really well adapted for
       Mail::Message objects, which will make this search even slower than
       spam-detection already is.

METHODS
       Constructors

       Mail::Box::Search::SpamAssassin->new(OPTIONS)

           Create a spam filter.  Internally, a Mail::SpamAssassin object is
           maintained.

           Only the whole message can be searched; this is a limitation of the
           Mail::SpamAssassin module.

            Option       --Defined in     --Default
            binaries       Mail::Box::Search  <false>
            decode         Mail::Box::Search  <true>
            delayed        Mail::Box::Search  <true>
            deleted        Mail::Box::Search  <false>
            deliver        Mail::Box::Search  undef
            in             Mail::Box::Search  'MESSAGE'
            label                           c<'spam'>
            limit          Mail::Box::Search  0
            log            Mail::Reporter   'WARNINGS'
            logical        Mail::Box::Search  'REPLACE'
            multiparts     Mail::Box::Search  <true>
            rewrite_mail                    <true>
            sa_options                      { }
            spam_assassin                   undef
            trace          Mail::Reporter   'WARNINGS'

           . binaries => BOOLEAN

           . decode => BOOLEAN

           . delayed => BOOLEAN

           . deleted => BOOLEAN

           . deliver => undef|CODE|'DELETE'

           . in => 'HEAD'|'BODY'|'MESSAGE'

           . label => STRING|undef

               Mark all selected message with the specified STRING.  If this
               option is explicitly set to "undef", the label will not be set.

           . limit => NUMBER

           . log => LEVEL

           . logical => 'REPLACE'|'AND'|'OR'|'NOT'|'AND NOT'|'OR NOT'

           . multiparts => BOOLEAN

           . rewrite_mail => BOOLEAN

               Add lines to the message header describing the results of the
               spam scan. See Mail::SpamAssassin::PerMsgStatus subroutine
               rewrite_mail.

           . sa_options => HASH

               Options to create the internal Mail::SpamAssassin object; see
               its manual page for the available options.  Other setting may
               be provided via SpamAssassins configuration file mechanism,
               which is explained in Mail::SpamAssassin::Conf.

           . spam_assassin => OBJECT

               Provide a Mail::SpamAssassin object to be used for searching
               spam.  If none is specified, one is created internally.  The
               object can be retreived with assassinator().

           . trace => LEVEL

           example:

            my $filter = Mail::Box::Search::SpamAssassin
                          ->new( found => 'DELETE' );

       Searching

       $obj->assassinator

           Returns the internally maintained assassinator object.  You may
           want to reach this object for complex configuration.

       $obj->inBody(PART, BODY)

           See "Searching" in Mail::Box::Search

       $obj->inHead(PART, HEAD)

           See "Searching" in Mail::Box::Search

       $obj->search(FOLDER|THREAD|MESSAGE|ARRAY-OF-MESSAGES)

           See "Searching" in Mail::Box::Search

       $obj->searchPart(PART)

           See "Searching" in Mail::Box::Search

       The Results

       $obj->printMatch([FILEHANDLE], HASH)

           See "The Results" in Mail::Box::Search

       Error handling

       $obj->AUTOLOAD

           See "Error handling" in Mail::Reporter

       $obj->addReport(OBJECT)

           See "Error handling" in Mail::Reporter

       $obj->defaultTrace([LEVEL]|[LOGLEVEL, TRACELEVEL]|[LEVEL, CALLBACK])

       Mail::Box::Search::SpamAssassin->defaultTrace([LEVEL]|[LOGLEVEL,
       TRACELEVEL]|[LEVEL, CALLBACK])

           See "Error handling" in Mail::Reporter

       $obj->errors

           See "Error handling" in Mail::Reporter

       $obj->log([LEVEL [,STRINGS]])

       Mail::Box::Search::SpamAssassin->log([LEVEL [,STRINGS]])

           See "Error handling" in Mail::Reporter

       $obj->logPriority(LEVEL)

       Mail::Box::Search::SpamAssassin->logPriority(LEVEL)

           See "Error handling" in Mail::Reporter

       $obj->logSettings

           See "Error handling" in Mail::Reporter

       $obj->notImplemented

           See "Error handling" in Mail::Reporter

       $obj->report([LEVEL])

           See "Error handling" in Mail::Reporter

       $obj->reportAll([LEVEL])

           See "Error handling" in Mail::Reporter

       $obj->trace([LEVEL])

           See "Error handling" in Mail::Reporter

       $obj->warnings

           See "Error handling" in Mail::Reporter

       Cleanup

       $obj->DESTROY

           See "Cleanup" in Mail::Reporter

       $obj->inGlobalDestruction

           See "Cleanup" in Mail::Reporter

DIAGNOSTICS
       Error: Package $package does not implement $method.

           Fatal error: the specific package (or one of its superclasses) does
           not implement this method where it should. This message means that
           some other related classes do implement this method however the
           class at hand does not.  Probably you should investigate this and
           probably inform the author of the package.

SEE ALSO
       This module is part of Mail-Box distribution version 2.082, built on
       April 28, 2008. Website: http://perl.overmeer.net/mailbox/

LICENSE
       Copyrights 2001-2008 by Mark Overmeer. For other contributors see
       ChangeLog.

       This program is free software; you can redistribute it and/or modify it
       under the same terms as Perl itself.  See
       http://www.perl.com/perl/misc/Artistic.html



perl v5.10.0                      2008-04-Mail::Box::Search::SpamAssassin(3pm)