{
    "content": [
        {
            "type": "text",
            "text": "# Mail::Box::Search::SpamAssassin (info)\n\n## NAME\n\nMail::Box::Search::SpamAssassin - select spam messages with Mail::SpamAssassin\n\n## SYNOPSIS\n\nuse Mail::Box::Manager;\nmy $mgr    = Mail::Box::Manager->new;\nmy $folder = $mgr->open('Inbox');\nmy $spam = Mail::Box::Search::SpamAssassin->new;\nif($spam->search($message)) {...}\nmy @msgs   = $filter->search($folder);\nforeach my $msg ($folder->messages)\n{   $msg->delete if $msg->label('spam');\n}\nmy $spam2 = Mail::Box::Search::SpamAssassin\n->new(deliver => 'DELETE');\n$spam2->search($folder);\n$mgr->moveMessages($spamfolder, $folder->messages('spam'));\n\n## DESCRIPTION\n\nSpam means \"unsollicited e-mail\", and is as name derived from a Monty\nPython scatch.  Although Monty Python is fun, spam is a pain: it\nneedlessly spoils minutes of time from most people: telephone bills,\noverful mailboxes which block honest e-mail, and accidentally removal\nof honest e-mail which looks like spam.  Spam is the pest of Internet.\n\n## Sections\n\n- **Mail::Box::Search::SpaUseraContributed PerMail::Box::Search::SpamAssassin(3pm)**\n- **NAME**\n- **INHERITANCE**\n- **SYNOPSIS**\n- **DESCRIPTION**\n- **METHODS**\n- **DIAGNOSTICS**\n- **SEE ALSO**\n- **LICENSE**\n\nUse structuredContent.sections for detailed options, examples, and full documentation.\n"
        }
    ],
    "structuredContent": {
        "command": "Mail::Box::Search::SpamAssassin",
        "section": "",
        "mode": "info",
        "summary": "Mail::Box::Search::SpamAssassin - select spam messages with Mail::SpamAssassin",
        "synopsis": "use Mail::Box::Manager;\nmy $mgr    = Mail::Box::Manager->new;\nmy $folder = $mgr->open('Inbox');\nmy $spam = Mail::Box::Search::SpamAssassin->new;\nif($spam->search($message)) {...}\nmy @msgs   = $filter->search($folder);\nforeach my $msg ($folder->messages)\n{   $msg->delete if $msg->label('spam');\n}\nmy $spam2 = Mail::Box::Search::SpamAssassin\n->new(deliver => 'DELETE');\n$spam2->search($folder);\n$mgr->moveMessages($spamfolder, $folder->messages('spam'));",
        "tldr_summary": null,
        "tldr_examples": [],
        "tldr_source": null,
        "flags": [],
        "examples": [],
        "see_also": [],
        "section_outline": [
            {
                "name": "Mail::Box::Search::SpaUseraContributed PerMail::Box::Search::SpamAssassin(3pm)",
                "lines": 1,
                "subsections": []
            },
            {
                "name": "NAME",
                "lines": 3,
                "subsections": []
            },
            {
                "name": "INHERITANCE",
                "lines": 4,
                "subsections": []
            },
            {
                "name": "SYNOPSIS",
                "lines": 17,
                "subsections": []
            },
            {
                "name": "DESCRIPTION",
                "lines": 17,
                "subsections": []
            },
            {
                "name": "METHODS",
                "lines": 141,
                "subsections": []
            },
            {
                "name": "DIAGNOSTICS",
                "lines": 7,
                "subsections": []
            },
            {
                "name": "SEE ALSO",
                "lines": 3,
                "subsections": []
            },
            {
                "name": "LICENSE",
                "lines": 7,
                "subsections": []
            }
        ],
        "sections": {
            "Mail::Box::Search::SpaUseraContributed PerMail::Box::Search::SpamAssassin(3pm)": {
                "content": "",
                "subsections": []
            },
            "NAME": {
                "content": "Mail::Box::Search::SpamAssassin - select spam messages with\nMail::SpamAssassin\n",
                "subsections": []
            },
            "INHERITANCE": {
                "content": "Mail::Box::Search::SpamAssassin\nis a Mail::Box::Search\nis a Mail::Reporter\n",
                "subsections": []
            },
            "SYNOPSIS": {
                "content": "use Mail::Box::Manager;\nmy $mgr    = Mail::Box::Manager->new;\nmy $folder = $mgr->open('Inbox');\n\nmy $spam = Mail::Box::Search::SpamAssassin->new;\nif($spam->search($message)) {...}\n\nmy @msgs   = $filter->search($folder);\nforeach my $msg ($folder->messages)\n{   $msg->delete if $msg->label('spam');\n}\n\nmy $spam2 = Mail::Box::Search::SpamAssassin\n->new(deliver => 'DELETE');\n$spam2->search($folder);\n$mgr->moveMessages($spamfolder, $folder->messages('spam'));\n",
                "subsections": []
            },
            "DESCRIPTION": {
                "content": "Spam means \"unsollicited e-mail\", and is as name derived from a Monty\nPython scatch.  Although Monty Python is fun, spam is a pain: it\nneedlessly spoils minutes of time from most people: telephone bills,\noverful mailboxes which block honest e-mail, and accidentally removal\nof honest e-mail which looks like spam.  Spam is the pest of Internet.\n\nHappily, Mail::Box can be used as spam filter, in combination with the\nuseful Mail::SpamAssassin module (which must be installed separately).\nEach message which is searched is wrapped in a\nMail::Message::Wrapper::SpamAssassin object.\n\nThe spam-assassin module version 2 is not really well adapted for\nMail::Message objects, which will make this search even slower than\nspam-detection already is.\n\nExtends \"DESCRIPTION\" in Mail::Box::Search.\n",
                "subsections": []
            },
            "METHODS": {
                "content": "Extends \"METHODS\" in Mail::Box::Search.\n\nConstructors\nExtends \"Constructors\" in Mail::Box::Search.\n\nMail::Box::Search::SpamAssassin->new(%options)\nCreate a spam filter.  Internally, a Mail::SpamAssassin object is\nmaintained.\n\nOnly the whole message can be searched; this is a limitation of the\nMail::SpamAssassin module.\n\n-Option       --Defined in       --Default\nbinaries       Mail::Box::Search  <false>\ndecode         Mail::Box::Search  <true>\ndelayed        Mail::Box::Search  <true>\ndeleted        Mail::Box::Search  <false>\ndeliver        Mail::Box::Search  undef\nin             Mail::Box::Search  'MESSAGE'\nlabel                             c<'spam'>\nlimit          Mail::Box::Search  0\nlog            Mail::Reporter     'WARNINGS'\nlogical        Mail::Box::Search  'REPLACE'\nmultiparts     Mail::Box::Search  <true>\nrewritemail                      <true>\nsaoptions                        { }\nspamassassin                     undef\ntrace          Mail::Reporter     'WARNINGS'\n\nbinaries => BOOLEAN\ndecode => BOOLEAN\ndelayed => BOOLEAN\ndeleted => BOOLEAN\ndeliver => undef|CODE|'DELETE'\nin => 'HEAD'|'BODY'|'MESSAGE'\nlabel => STRING|undef\nMark all selected message with the specified STRING.  If this\noption is explicitly set to \"undef\", the label will not be set.\n\nlimit => NUMBER\nlog => LEVEL\nlogical => 'REPLACE'|'AND'|'OR'|'NOT'|'AND NOT'|'OR NOT'\nmultiparts => BOOLEAN\nrewritemail => BOOLEAN\nAdd lines to the message header describing the results of the\nspam scan. See Mail::SpamAssassin::PerMsgStatus subroutine\nrewritemail.\n\nsaoptions => HASH\nOptions to create the internal Mail::SpamAssassin object; see its\nmanual page for the available options.  Other setting may be\nprovided via SpamAssassins configuration file mechanism, which is\nexplained in Mail::SpamAssassin::Conf.\n\nspamassassin => OBJECT\nProvide a Mail::SpamAssassin object to be used for searching\nspam.  If none is specified, one is created internally.  The\nobject can be retrieved with assassinator().\n\ntrace => LEVEL\n\nexample:\n\nmy $filter = Mail::Box::Search::SpamAssassin\n->new( found => 'DELETE' );\n\nSearching\nExtends \"Searching\" in Mail::Box::Search.\n\n$obj->assassinator()\nReturns the internally maintained assassinator object.  You may\nwant to reach this object for complex configuration.\n\n$obj->inBody($part, $body)\nInherited, see \"Searching\" in Mail::Box::Search\n\n$obj->inHead($part, $head)\nInherited, see \"Searching\" in Mail::Box::Search\n\n$obj->search($folder|$thread|$message|ARRAY)\nInherited, see \"Searching\" in Mail::Box::Search\n\n$obj->searchPart($part)\nInherited, see \"Searching\" in Mail::Box::Search\n\nThe Results\nExtends \"The Results\" in Mail::Box::Search.\n\n$obj->printMatch( [$fh], HASH )\nInherited, see \"The Results\" in Mail::Box::Search\n\nError handling\nExtends \"Error handling\" in Mail::Box::Search.\n\n$obj->AUTOLOAD()\nInherited, see \"Error handling\" in Mail::Reporter\n\n$obj->addReport($object)\nInherited, see \"Error handling\" in Mail::Reporter\n\n$obj->defaultTrace( [$level]|[$loglevel, $tracelevel]|[$level,\n$callback] )\nMail::Box::Search::SpamAssassin->defaultTrace( [$level]|[$loglevel,\n$tracelevel]|[$level, $callback] )\nInherited, see \"Error handling\" in Mail::Reporter\n\n$obj->errors()\nInherited, see \"Error handling\" in Mail::Reporter\n\n$obj->log( [$level, [$strings]] )\nMail::Box::Search::SpamAssassin->log( [$level, [$strings]] )\nInherited, see \"Error handling\" in Mail::Reporter\n\n$obj->logPriority($level)\nMail::Box::Search::SpamAssassin->logPriority($level)\nInherited, see \"Error handling\" in Mail::Reporter\n\n$obj->logSettings()\nInherited, see \"Error handling\" in Mail::Reporter\n\n$obj->notImplemented()\nInherited, see \"Error handling\" in Mail::Reporter\n\n$obj->report( [$level] )\nInherited, see \"Error handling\" in Mail::Reporter\n\n$obj->reportAll( [$level] )\nInherited, see \"Error handling\" in Mail::Reporter\n\n$obj->trace( [$level] )\nInherited, see \"Error handling\" in Mail::Reporter\n\n$obj->warnings()\nInherited, see \"Error handling\" in Mail::Reporter\n\nCleanup\nExtends \"Cleanup\" in Mail::Box::Search.\n\n$obj->DESTROY()\nInherited, see \"Cleanup\" in Mail::Reporter\n",
                "subsections": []
            },
            "DIAGNOSTICS": {
                "content": "Error: Package $package does not implement $method.\nFatal error: the specific package (or one of its superclasses) does\nnot implement this method where it should. This message means that\nsome other related classes do implement this method however the\nclass at hand does not.  Probably you should investigate this and\nprobably inform the author of the package.\n",
                "subsections": []
            },
            "SEE ALSO": {
                "content": "This module is part of Mail-Box distribution version 3.009, built on\nAugust 18, 2020. Website: http://perl.overmeer.net/CPAN/\n",
                "subsections": []
            },
            "LICENSE": {
                "content": "Copyrights 2001-2020 by [Mark Overmeer]. For other contributors see\nChangeLog.\n\nThis program is free software; you can redistribute it and/or modify it\nunder the same terms as Perl itself.  See http://dev.perl.org/licenses/\n\nperl v5.30.3                      2020-08-Mail::Box::Search::SpamAssassin(3pm)",
                "subsections": []
            }
        }
    }
}