{
    "content": [
        {
            "type": "text",
            "text": "# Mail::Box::Dir::Message (perldoc)\n\n## NAME\n\nMail::Box::Dir::Message - one message in a directory organized folder\n\n## SYNOPSIS\n\nmy $folder = new Mail::Box::MH ...\nmy $message = $folder->message(10);\n\n## DESCRIPTION\n\nA \"Mail::Box::Dir::Message\" is a base class for one message in a directory organized folder;\neach message is stored in a separate file. There are no objects of type\n\"Mail::Box::Dir::Message\", only extensions are allowed to be created.\n\n## Sections\n\n- **NAME**\n- **INHERITANCE**\n- **SYNOPSIS**\n- **DESCRIPTION**\n- **METHODS** (10 subsections)\n- **DETAILS**\n- **DIAGNOSTICS**\n- **SEE ALSO**\n- **LICENSE**\n\nUse structuredContent.sections for detailed options, examples, and full documentation.\n"
        }
    ],
    "structuredContent": {
        "command": "Mail::Box::Dir::Message",
        "section": "",
        "mode": "perldoc",
        "summary": "Mail::Box::Dir::Message - one message in a directory organized folder",
        "synopsis": "my $folder = new Mail::Box::MH ...\nmy $message = $folder->message(10);",
        "tldr_summary": null,
        "tldr_examples": [],
        "tldr_source": null,
        "flags": [],
        "examples": [],
        "see_also": [],
        "section_outline": [
            {
                "name": "NAME",
                "lines": 2,
                "subsections": []
            },
            {
                "name": "INHERITANCE",
                "lines": 9,
                "subsections": []
            },
            {
                "name": "SYNOPSIS",
                "lines": 3,
                "subsections": []
            },
            {
                "name": "DESCRIPTION",
                "lines": 23,
                "subsections": []
            },
            {
                "name": "METHODS",
                "lines": 2,
                "subsections": [
                    {
                        "name": "Constructors",
                        "lines": 47
                    },
                    {
                        "name": "Constructing a message",
                        "lines": 51
                    },
                    {
                        "name": "The message",
                        "lines": 48
                    },
                    {
                        "name": "The header",
                        "lines": 44
                    },
                    {
                        "name": "The body",
                        "lines": 23
                    },
                    {
                        "name": "Flags",
                        "lines": 29
                    },
                    {
                        "name": "The whole message as text",
                        "lines": 14
                    },
                    {
                        "name": "Internals",
                        "lines": 47
                    },
                    {
                        "name": "Error handling",
                        "lines": 48
                    },
                    {
                        "name": "Cleanup",
                        "lines": 8
                    }
                ]
            },
            {
                "name": "DETAILS",
                "lines": 2,
                "subsections": []
            },
            {
                "name": "DIAGNOSTICS",
                "lines": 62,
                "subsections": []
            },
            {
                "name": "SEE ALSO",
                "lines": 3,
                "subsections": []
            },
            {
                "name": "LICENSE",
                "lines": 5,
                "subsections": []
            }
        ],
        "sections": {
            "NAME": {
                "content": "Mail::Box::Dir::Message - one message in a directory organized folder\n",
                "subsections": []
            },
            "INHERITANCE": {
                "content": "Mail::Box::Dir::Message\nis a Mail::Box::Message\nis a Mail::Message\nis a Mail::Reporter\n\nMail::Box::Dir::Message is extended by\nMail::Box::MH::Message\nMail::Box::Maildir::Message\n",
                "subsections": []
            },
            "SYNOPSIS": {
                "content": "my $folder = new Mail::Box::MH ...\nmy $message = $folder->message(10);\n",
                "subsections": []
            },
            "DESCRIPTION": {
                "content": "A \"Mail::Box::Dir::Message\" is a base class for one message in a directory organized folder;\neach message is stored in a separate file. There are no objects of type\n\"Mail::Box::Dir::Message\", only extensions are allowed to be created.\n\nAt the moment, three of these extended message types are implemented:\n\n*   Mail::Box::MH::Message\n\nwhich represents one message in a Mail::Box::MH folder. MH folders are very, very simple....\nand hence not sophisticated nor fast.\n\n*   Mail::Box::Maildir::Message\n\nwhich represents one message in a Mail::Box::Maildir folder. Flags are kept in the message's\nfilename. It is stateless, so you will never loose a message.\n\n*   Mail::Box::Netzwert::Message\n\nwhich represents one message in a Mail::Box::Netzwert folder. As advantage, it stores\npre-parsed information in the message file. As disadvantage: the code is not GPLed (yet).\n\nExtends \"DESCRIPTION\" in Mail::Box::Message.\n",
                "subsections": []
            },
            "METHODS": {
                "content": "Extends \"METHODS\" in Mail::Box::Message.\n",
                "subsections": [
                    {
                        "name": "Constructors",
                        "content": "Extends \"Constructors\" in Mail::Box::Message.\n\n$obj->clone(%options)\nInherited, see \"Constructors\" in Mail::Message\n\nMail::Box::Dir::Message->new(%options)\nCreate a messages in a directory organized folder.\n\n-Option    --Defined in        --Default\nbody        Mail::Message       undef\nbodytype   Mail::Box::Message  <from folder>\ndeleted     Mail::Message       <false>\nfieldtype  Mail::Message       undef\nfilename                        undef\nfixheader                      false\nfolder      Mail::Box::Message  <required>\nhead        Mail::Message       undef\nheadtype   Mail::Message       Mail::Message::Head::Complete\nlabels      Mail::Message       {}\nlog         Mail::Reporter      'WARNINGS'\nmessageId   Mail::Message       undef\nmodified    Mail::Message       <false>\nsize        Mail::Box::Message  undef\ntrace       Mail::Reporter      'WARNINGS'\ntrusted     Mail::Message       <false>\n\nbody => OBJECT\nbodytype => CODE|CLASS\ndeleted => BOOLEAN\nfieldtype => CLASS\nfilename => FILENAME\nThe file where the message is stored in.\n\nfixheader => BOOLEAN\nSee Mail::Box::new(fixheaders).\n\nfolder => FOLDER\nhead => OBJECT\nheadtype => CLASS\nlabels => ARRAY|HASH\nlog => LEVEL\nmessageId => STRING\nmodified => BOOLEAN\nsize => INTEGER\ntrace => LEVEL\ntrusted => BOOLEAN\n"
                    },
                    {
                        "name": "Constructing a message",
                        "content": "Extends \"Constructing a message\" in Mail::Box::Message.\n\n$obj->bounce( [<$rgobject|%options>] )\nInherited, see \"Constructing a message\" in Mail::Message::Construct::Bounce\n\nMail::Box::Dir::Message->build( [$message|$part|$body], $content )\nInherited, see \"Constructing a message\" in Mail::Message::Construct::Build\n\nMail::Box::Dir::Message->buildFromBody($body, [$head], $headers)\nInherited, see \"Constructing a message\" in Mail::Message::Construct::Build\n\n$obj->forward(%options)\nInherited, see \"Constructing a message\" in Mail::Message::Construct::Forward\n\n$obj->forwardAttach(%options)\nInherited, see \"Constructing a message\" in Mail::Message::Construct::Forward\n\n$obj->forwardEncapsulate(%options)\nInherited, see \"Constructing a message\" in Mail::Message::Construct::Forward\n\n$obj->forwardInline(%options)\nInherited, see \"Constructing a message\" in Mail::Message::Construct::Forward\n\n$obj->forwardNo(%options)\nInherited, see \"Constructing a message\" in Mail::Message::Construct::Forward\n\n$obj->forwardPostlude()\nInherited, see \"Constructing a message\" in Mail::Message::Construct::Forward\n\n$obj->forwardPrelude()\nInherited, see \"Constructing a message\" in Mail::Message::Construct::Forward\n\n$obj->forwardSubject(STRING)\nInherited, see \"Constructing a message\" in Mail::Message::Construct::Forward\n\nMail::Box::Dir::Message->read($fh|STRING|SCALAR|ARRAY, %options)\nInherited, see \"Constructing a message\" in Mail::Message::Construct::Read\n\n$obj->rebuild(%options)\nInherited, see \"Constructing a message\" in Mail::Message::Construct::Rebuild\n\n$obj->reply(%options)\nInherited, see \"Constructing a message\" in Mail::Message::Construct::Reply\n\n$obj->replyPrelude( [STRING|$field|$address|ARRAY-$of-$things] )\nInherited, see \"Constructing a message\" in Mail::Message::Construct::Reply\n\n$obj->replySubject(STRING)\nMail::Box::Dir::Message->replySubject(STRING)\nInherited, see \"Constructing a message\" in Mail::Message::Construct::Reply\n"
                    },
                    {
                        "name": "The message",
                        "content": "Extends \"The message\" in Mail::Box::Message.\n\n$obj->container()\nInherited, see \"The message\" in Mail::Message\n\n$obj->copyTo($folder, %options)\nInherited, see \"The message\" in Mail::Box::Message\n\n$obj->filename( [$filename] )\nReturns the name of the file in which this message is actually stored. This will return\n\"undef\" when the message is not stored in a file.\n\n$obj->folder( [$folder] )\nInherited, see \"The message\" in Mail::Box::Message\n\n$obj->isDummy()\nInherited, see \"The message\" in Mail::Message\n\n$obj->isPart()\nInherited, see \"The message\" in Mail::Message\n\n$obj->messageId()\nInherited, see \"The message\" in Mail::Message\n\n$obj->moveTo($folder, %options)\nInherited, see \"The message\" in Mail::Box::Message\n\n$obj->partNumber()\nInherited, see \"The message\" in Mail::Message\n\n$obj->print( [$fh] )\nInherited, see \"The message\" in Mail::Message\n\n$obj->send( [$mailer], %options )\nInherited, see \"The message\" in Mail::Message\n\n$obj->seqnr( [$integer] )\nInherited, see \"The message\" in Mail::Box::Message\n\n$obj->size()\nInherited, see \"The message\" in Mail::Message\n\n$obj->toplevel()\nInherited, see \"The message\" in Mail::Message\n\n$obj->write( [$fh] )\nInherited, see \"The message\" in Mail::Message\n"
                    },
                    {
                        "name": "The header",
                        "content": "Extends \"The header\" in Mail::Box::Message.\n\n$obj->bcc()\nInherited, see \"The header\" in Mail::Message\n\n$obj->cc()\nInherited, see \"The header\" in Mail::Message\n\n$obj->date()\nInherited, see \"The header\" in Mail::Message\n\n$obj->destinations()\nInherited, see \"The header\" in Mail::Message\n\n$obj->from()\nInherited, see \"The header\" in Mail::Message\n\n$obj->get($fieldname)\nInherited, see \"The header\" in Mail::Message\n\n$obj->guessTimestamp()\nInherited, see \"The header\" in Mail::Message\n\n$obj->head( [$head] )\nInherited, see \"The header\" in Mail::Message\n\n$obj->nrLines()\nInherited, see \"The header\" in Mail::Message\n\n$obj->sender()\nInherited, see \"The header\" in Mail::Message\n\n$obj->study($fieldname)\nInherited, see \"The header\" in Mail::Message\n\n$obj->subject()\nInherited, see \"The header\" in Mail::Message\n\n$obj->timestamp()\nInherited, see \"The header\" in Mail::Message\n\n$obj->to()\nInherited, see \"The header\" in Mail::Message\n"
                    },
                    {
                        "name": "The body",
                        "content": "Extends \"The body\" in Mail::Box::Message.\n\n$obj->body( [$body] )\nInherited, see \"The body\" in Mail::Message\n\n$obj->contentType()\nInherited, see \"The body\" in Mail::Message\n\n$obj->decoded(%options)\nInherited, see \"The body\" in Mail::Message\n\n$obj->encode(%options)\nInherited, see \"The body\" in Mail::Message\n\n$obj->isMultipart()\nInherited, see \"The body\" in Mail::Message\n\n$obj->isNested()\nInherited, see \"The body\" in Mail::Message\n\n$obj->parts( [<'ALL'|'ACTIVE'|'DELETED'|'RECURSE'|$filter>] )\nInherited, see \"The body\" in Mail::Message\n"
                    },
                    {
                        "name": "Flags",
                        "content": "Extends \"Flags\" in Mail::Box::Message.\n\n$obj->delete()\nInherited, see \"Flags\" in Mail::Message\n\n$obj->deleted( [BOOLEAN] )\nInherited, see \"Flags\" in Mail::Message\n\n$obj->isDeleted()\nInherited, see \"Flags\" in Mail::Message\n\n$obj->isModified()\nInherited, see \"Flags\" in Mail::Message\n\n$obj->label($label|PAIRS)\nInherited, see \"Flags\" in Mail::Message\n\n$obj->labels()\nInherited, see \"Flags\" in Mail::Message\n\n$obj->labelsToStatus()\nInherited, see \"Flags\" in Mail::Message\n\n$obj->modified( [BOOLEAN] )\nInherited, see \"Flags\" in Mail::Message\n\n$obj->statusToLabels()\nInherited, see \"Flags\" in Mail::Message\n"
                    },
                    {
                        "name": "The whole message as text",
                        "content": "Extends \"The whole message as text\" in Mail::Box::Message.\n\n$obj->file()\nInherited, see \"The whole message as text\" in Mail::Message::Construct::Text\n\n$obj->lines()\nInherited, see \"The whole message as text\" in Mail::Message::Construct::Text\n\n$obj->printStructure( [$fh|undef],[$indent] )\nInherited, see \"The whole message as text\" in Mail::Message::Construct::Text\n\n$obj->string()\nInherited, see \"The whole message as text\" in Mail::Message::Construct::Text\n"
                    },
                    {
                        "name": "Internals",
                        "content": "Extends \"Internals\" in Mail::Box::Message.\n\n$obj->clonedFrom()\nInherited, see \"Internals\" in Mail::Message\n\nMail::Box::Dir::Message->coerce($message, %options)\nInherited, see \"Internals\" in Mail::Message\n\n$obj->create($filename)\nCreate the message in the specified file. If the message already has a filename and is not\nmodified, then a move is tried. Otherwise the message is printed to the file. If the\n$filename already exists for this message, nothing is done. In any case, the new $filename\nis set as well.\n\n$obj->diskDelete()\nInherited, see \"Internals\" in Mail::Box::Message\n\n$obj->isDelayed()\nInherited, see \"Internals\" in Mail::Message\n\n$obj->loadBody()\nThis method is called by the autoloader when the body of the message is needed.\n\n$obj->loadHead()\nThis method is called by the autoloader when the header of the message is needed.\n\n$obj->parser()\nCreate and return a parser for this message (-file).\n\n$obj->readBody( $parser, $head, [$bodytype] )\nInherited, see \"Internals\" in Mail::Box::Message\n\n$obj->readFromParser( $parser, [$bodytype] )\nInherited, see \"Internals\" in Mail::Message\n\n$obj->readHead( $parser, [$class] )\nInherited, see \"Internals\" in Mail::Message\n\n$obj->recursiveRebuildPart($part, %options)\nInherited, see \"Internals\" in Mail::Message::Construct::Rebuild\n\n$obj->storeBody($body)\nInherited, see \"Internals\" in Mail::Message\n\n$obj->takeMessageId( [STRING] )\nInherited, see \"Internals\" in Mail::Message\n"
                    },
                    {
                        "name": "Error handling",
                        "content": "Extends \"Error handling\" in Mail::Box::Message.\n\n$obj->AUTOLOAD()\nInherited, see \"METHODS\" in Mail::Message::Construct\n\n$obj->addReport($object)\nInherited, see \"Error handling\" in Mail::Reporter\n\n$obj->defaultTrace( [$level]|[$loglevel, $tracelevel]|[$level, $callback] )\nMail::Box::Dir::Message->defaultTrace( [$level]|[$loglevel, $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::Dir::Message->log( [$level, [$strings]] )\nInherited, see \"Error handling\" in Mail::Reporter\n\n$obj->logPriority($level)\nMail::Box::Dir::Message->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->shortSize( [$value] )\nMail::Box::Dir::Message->shortSize( [$value] )\nInherited, see \"Error handling\" in Mail::Message\n\n$obj->shortString()\nInherited, see \"Error handling\" in Mail::Message\n\n$obj->trace( [$level] )\nInherited, see \"Error handling\" in Mail::Reporter\n\n$obj->warnings()\nInherited, see \"Error handling\" in Mail::Reporter\n"
                    },
                    {
                        "name": "Cleanup",
                        "content": "Extends \"Cleanup\" in Mail::Box::Message.\n\n$obj->DESTROY()\nInherited, see \"Cleanup\" in Mail::Reporter\n\n$obj->destruct()\nInherited, see \"Cleanup\" in Mail::Box::Message\n"
                    }
                ]
            },
            "DETAILS": {
                "content": "Extends \"DETAILS\" in Mail::Box::Message.\n",
                "subsections": []
            },
            "DIAGNOSTICS": {
                "content": "Error: Cannot coerce a $class object into a $class object\nError: Cannot create parser for $filename.\nFor some reason (the previous message have told you already) it was not possible to create a\nmessage parser for the specified filename.\n\nError: Cannot include forward source as $include.\nUnknown alternative for the forward(include). Valid choices are \"NO\", \"INLINE\", \"ATTACH\",\nand \"ENCAPSULATE\".\n\nError: Cannot include reply source as $include.\nUnknown alternative for the \"include\" option of reply(). Valid choices are \"NO\", \"INLINE\",\nand \"ATTACH\".\n\nError: Cannot write message to $filename: $!\nWhen a modified or new message is written to disk, it is first written to a temporary file\nin the folder directory. For some reason, it is impossible to create this file.\n\nError: Failed to move $new to $filename: $!\nWhen a modified or new message is written to disk, it is first written to a temporary file\nin the folder directory. Then, the new file is moved to replace the existing file.\nApparently, the latter fails.\n\nError: Method bounce requires To, Cc, or Bcc\nThe message bounce() method forwards a received message off to someone else without\nmodification; you must specified it's new destination. If you have the urge not to specify\nany destination, you probably are looking for reply(). When you wish to modify the content,\nuse forward().\n\nError: Method forwardAttach requires a preamble\nError: Method forwardEncapsulate requires a preamble\nError: No address to create forwarded to.\nIf a forward message is created, a destination address must be specified.\n\nError: No default mailer found to send message.\nThe message send() mechanism had not enough information to automatically find a mail\ntransfer agent to sent this message. Specify a mailer explicitly using the \"via\" options.\n\nError: No rebuild rule $name defined.\nError: Only build() Mail::Message's; they are not in a folder yet\nYou may wish to construct a message to be stored in a some kind of folder, but you need to\ndo that in two steps. First, create a normal Mail::Message, and then add it to the folder.\nDuring this Mail::Box::addMessage() process, the message will get coerce()-d into the right\nmessage type, adding storage information and the like.\n\nError: Package $package does not implement $method.\nFatal error: the specific package (or one of its superclasses) does not implement this\nmethod where it should. This message means that some other related classes do implement this\nmethod however the class at hand does not. Probably you should investigate this and probably\ninform the author of the package.\n\nError: Unable to read delayed body.\nFor some reason, the header of the message could be read, but the body cannot. Probably the\nfile has disappeared or the permissions were changed during the progress of the program.\n\nError: Unable to read delayed head.\nMail::Box tries to be *lazy* with respect to parsing messages. When a directory organized\nfolder is opened, only the filenames of messages are collected. At first use, the messages\nare read from their file. Apperently, a message is used for the first time here, but has\ndisappeared or is unreadible for some other reason.\n\nError: coercion starts with some object\n",
                "subsections": []
            },
            "SEE ALSO": {
                "content": "This module is part of Mail-Box distribution version 3.009, built on August 18, 2020. Website:\nhttp://perl.overmeer.net/CPAN/\n",
                "subsections": []
            },
            "LICENSE": {
                "content": "Copyrights 2001-2020 by [Mark Overmeer]. For other contributors see ChangeLog.\n\nThis program is free software; you can redistribute it and/or modify it under the same terms as\nPerl itself. See http://dev.perl.org/licenses/\n",
                "subsections": []
            }
        }
    }
}