{
    "content": [
        {
            "type": "text",
            "text": "# Mail::Box::Dir (info)\n\n## NAME\n\nMail::Box::Dir - handle folders with a file per message.\n\n## SYNOPSIS\n\n# Do not instantiate this object\n\n## DESCRIPTION\n\nThis documentation describes the way directory organized mailboxes\nwork.  At the moment, this object is extended by\n\n## Sections\n\n- **Mail::Box::Dir(3pm)   User Contributed Perl Documentation  Mail::Box::Dir(3pm)**\n- **NAME**\n- **INHERITANCE**\n- **SYNOPSIS**\n- **DESCRIPTION**\n- **OVERLOADED**\n- **METHODS**\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",
        "section": "",
        "mode": "info",
        "summary": "Mail::Box::Dir - handle folders with a file per message.",
        "synopsis": "# Do not instantiate this object",
        "tldr_summary": null,
        "tldr_examples": [],
        "tldr_source": null,
        "flags": [],
        "examples": [],
        "see_also": [],
        "section_outline": [
            {
                "name": "Mail::Box::Dir(3pm)   User Contributed Perl Documentation  Mail::Box::Dir(3pm)",
                "lines": 1,
                "subsections": []
            },
            {
                "name": "NAME",
                "lines": 2,
                "subsections": []
            },
            {
                "name": "INHERITANCE",
                "lines": 8,
                "subsections": []
            },
            {
                "name": "SYNOPSIS",
                "lines": 2,
                "subsections": []
            },
            {
                "name": "DESCRIPTION",
                "lines": 23,
                "subsections": []
            },
            {
                "name": "OVERLOADED",
                "lines": 11,
                "subsections": []
            },
            {
                "name": "METHODS",
                "lines": 299,
                "subsections": []
            },
            {
                "name": "DETAILS",
                "lines": 2,
                "subsections": []
            },
            {
                "name": "DIAGNOSTICS",
                "lines": 67,
                "subsections": []
            },
            {
                "name": "SEE ALSO",
                "lines": 3,
                "subsections": []
            },
            {
                "name": "LICENSE",
                "lines": 7,
                "subsections": []
            }
        ],
        "sections": {
            "Mail::Box::Dir(3pm)   User Contributed Perl Documentation  Mail::Box::Dir(3pm)": {
                "content": "",
                "subsections": []
            },
            "NAME": {
                "content": "Mail::Box::Dir - handle folders with a file per message.\n",
                "subsections": []
            },
            "INHERITANCE": {
                "content": "Mail::Box::Dir\nis a Mail::Box\nis a Mail::Reporter\n\nMail::Box::Dir is extended by\nMail::Box::MH\nMail::Box::Maildir\n",
                "subsections": []
            },
            "SYNOPSIS": {
                "content": "# Do not instantiate this object\n",
                "subsections": []
            },
            "DESCRIPTION": {
                "content": "This documentation describes the way directory organized mailboxes\nwork.  At the moment, this object is extended by\n\no   Mail::Box::MH\n\nMH folders, which are represented by a directory containing files\nwhich are sequentially numbered.\n\no   Mail::Box::Maildir\n\nMaildir folders, which are located in a directory which has sub-\ndirectories named \"tmp\", \"new\", and \"cur\".  Each of these\ndirectories may contain files with names which are a combination of\na numeric timestamp and some status flags.\n\no   Mail::Box::Netzwert\n\nThis folder type was especially developed for Netzwert AG,\noptimized to run on a cluster of servers with folders on NFS.  The\ncode is not publicly available (yet).\n\nExtends \"DESCRIPTION\" in Mail::Box.\n",
                "subsections": []
            },
            "OVERLOADED": {
                "content": "Extends \"OVERLOADED\" in Mail::Box.\n\noverload: \"\"\nInherited, see \"OVERLOADED\" in Mail::Box\n\noverload: @{}\nInherited, see \"OVERLOADED\" in Mail::Box\n\noverload: cmp\nInherited, see \"OVERLOADED\" in Mail::Box\n",
                "subsections": []
            },
            "METHODS": {
                "content": "Extends \"METHODS\" in Mail::Box.\n\nConstructors\nExtends \"Constructors\" in Mail::Box.\n\nMail::Box::Dir->new(%options)\n-Option           --Defined in     --Default\naccess             Mail::Box        'r'\nbodydelayedtype  Mail::Box        Mail::Message::Body::Delayed\nbodytype          Mail::Box        Mail::Message::Body::Lines\ncoerceoptions     Mail::Box        []\ncreate             Mail::Box        <false>\ndirectory                           <derived from folder name>\nextract            Mail::Box        10240\nfieldtype         Mail::Box        undef\nfixheaders        Mail::Box        <false>\nfolder             Mail::Box        $ENV{MAIL}\nfolderdir          Mail::Box        undef\nheaddelayedtype  Mail::Box        Mail::Message::Head::Delayed\nheadtype          Mail::Box        Mail::Message::Head::Complete\nkeepdups          Mail::Box        <false>\nlockfile          Mail::Box        <folder>/.lock\nlocktimeout       Mail::Box        1 hour\nlocktype          Mail::Box        Mail::Box::Locker::DotLock\nlockwait          Mail::Box        10 seconds\nlocker             Mail::Box        undef\nlog                Mail::Reporter   'WARNINGS'\nmanager            Mail::Box        undef\nmessagetype       Mail::Box        <folder-class>::Message\nmultiparttype     Mail::Box        Mail::Message::Body::Multipart\nremovewhenempty  Mail::Box        <true>\nsaveonexit       Mail::Box        <true>\ntrace              Mail::Reporter   'WARNINGS'\ntrusted            Mail::Box        <depends on folder location>\n\naccess => MODE\nbodydelayedtype => CLASS\nbodytype => CLASS|CODE\ncoerceoptions => ARRAY\ncreate => BOOLEAN\ndirectory => DIRECTORY\nFor rare folder types, the directory name may differ from the\nfolder name.\n\nextract => INTEGER | CODE | METHOD | 'LAZY'|'ALWAYS'\nfieldtype => CLASS\nfixheaders => BOOLEAN\nfolder => FOLDERNAME\nfolderdir => DIRECTORY\nheaddelayedtype => CLASS\nheadtype => CLASS\nkeepdups => BOOLEAN\nlockfile => FILENAME\nlocktimeout => SECONDS\nlocktype => CLASS|STRING|ARRAY\nlockwait => SECONDS\nlocker => OBJECT\nlog => LEVEL\nmanager => MANAGER\nmessagetype => CLASS\nmultiparttype => CLASS\nremovewhenempty => BOOLEAN\nsaveonexit => BOOLEAN\ntrace => LEVEL\ntrusted => BOOLEAN\n\nThe folder\nExtends \"The folder\" in Mail::Box.\n\n$obj->addMessage($message, %options)\nInherited, see \"The folder\" in Mail::Box\n\n$obj->addMessages(@messages)\nInherited, see \"The folder\" in Mail::Box\n\nMail::Box::Dir->appendMessages(%options)\nInherited, see \"The folder\" in Mail::Box\n\n$obj->close(%options)\nInherited, see \"The folder\" in Mail::Box\n\n$obj->copyTo($folder, %options)\nInherited, see \"The folder\" in Mail::Box\n\n$obj->delete(%options)\nInherited, see \"The folder\" in Mail::Box\n\n$obj->directory()\nReturns the directory related to this folder.\n\nexample:\n\nprint $folder->directory;\n\n$obj->folderdir( [$directory] )\nInherited, see \"The folder\" in Mail::Box\n\n$obj->name()\nInherited, see \"The folder\" in Mail::Box\n\n$obj->organization()\nInherited, see \"The folder\" in Mail::Box\n\n$obj->size()\nInherited, see \"The folder\" in Mail::Box\n\n$obj->type()\nInherited, see \"The folder\" in Mail::Box\n\n$obj->update(%options)\nInherited, see \"The folder\" in Mail::Box\n\n$obj->url()\nInherited, see \"The folder\" in Mail::Box\n\nFolder flags\nExtends \"Folder flags\" in Mail::Box.\n\n$obj->access()\nInherited, see \"Folder flags\" in Mail::Box\n\n$obj->isModified()\nInherited, see \"Folder flags\" in Mail::Box\n\n$obj->modified( [BOOLEAN] )\nInherited, see \"Folder flags\" in Mail::Box\n\n$obj->writable()\nInherited, see \"Folder flags\" in Mail::Box\n\nThe messages\nExtends \"The messages\" in Mail::Box.\n\n$obj->current( [$number|$message|$messageid] )\nInherited, see \"The messages\" in Mail::Box\n\n$obj->find($messageid)\nInherited, see \"The messages\" in Mail::Box\n\n$obj->findFirstLabeled( $label, [BOOLEAN, [$msgs]] )\nInherited, see \"The messages\" in Mail::Box\n\n$obj->message( $index, [$message] )\nInherited, see \"The messages\" in Mail::Box\n\n$obj->messageId( $messageid, [$message] )\nInherited, see \"The messages\" in Mail::Box\n\n$obj->messageIds()\nInherited, see \"The messages\" in Mail::Box\n\n$obj->messages( <'ALL'|$range|'ACTIVE'|'DELETED'|$label|\n!$label|$filter> )\nInherited, see \"The messages\" in Mail::Box\n\n$obj->nrMessages(%options)\nInherited, see \"The messages\" in Mail::Box\n\n$obj->scanForMessages($message, $messageids, $timespan, $window)\nInherited, see \"The messages\" in Mail::Box\n\nSub-folders\nExtends \"Sub-folders\" in Mail::Box.\n\n$obj->listSubFolders(%options)\nMail::Box::Dir->listSubFolders(%options)\nInherited, see \"Sub-folders\" in Mail::Box\n\n$obj->nameOfSubFolder( $subname, [$parentname] )\nMail::Box::Dir->nameOfSubFolder( $subname, [$parentname] )\nInherited, see \"Sub-folders\" in Mail::Box\n\n$obj->openRelatedFolder(%options)\nInherited, see \"Sub-folders\" in Mail::Box\n\n$obj->openSubFolder($subname, %options)\nInherited, see \"Sub-folders\" in Mail::Box\n\n$obj->topFolderWithMessages()\nMail::Box::Dir->topFolderWithMessages()\nInherited, see \"Sub-folders\" in Mail::Box\n\nInternals\nExtends \"Internals\" in Mail::Box.\n\n$obj->coerce($message, %options)\nInherited, see \"Internals\" in Mail::Box\n\n$obj->create($foldername, %options)\nMail::Box::Dir->create($foldername, %options)\nInherited, see \"Internals\" in Mail::Box\n\n$obj->determineBodyType($message, $head)\nInherited, see \"Internals\" in Mail::Box\n\n$obj->folderToDirectory($foldername, $folderdir)\n(class method)  Translate a foldername into a filename, with use of\nthe $folderdir to replace a leading \"=\".\n\nMail::Box::Dir->foundIn( [$foldername], %options )\nInherited, see \"Internals\" in Mail::Box\n\n$obj->lineSeparator( [<STRING|'CR'|'LF'|'CRLF'>] )\nInherited, see \"Internals\" in Mail::Box\n\n$obj->locker()\nInherited, see \"Internals\" in Mail::Box\n\n$obj->messageInFile($filename)\nReturns the folder message which is found the indicated \"filename\".\nThis may be useful when some external tool reports filename to be\nopened.\n\n$obj->read(%options)\nInherited, see \"Internals\" in Mail::Box\n\n$obj->readMessageFilenames($directory)\nReturns a list of all filenames which are found in this folder\ndirectory and represent a message.  The filenames are returned as\nrelative path.\n\n$obj->readMessages(%options)\nInherited, see \"Internals\" in Mail::Box\n\n$obj->storeMessage($message)\nInherited, see \"Internals\" in Mail::Box\n\n$obj->toBeThreaded($messages)\nInherited, see \"Internals\" in Mail::Box\n\n$obj->toBeUnthreaded($messages)\nInherited, see \"Internals\" in Mail::Box\n\n$obj->updateMessages(%options)\nInherited, see \"Internals\" in Mail::Box\n\n$obj->write(%options)\nInherited, see \"Internals\" in Mail::Box\n\n$obj->writeMessages(%options)\nInherited, see \"Internals\" in Mail::Box\n\nOther methods\nExtends \"Other methods\" in Mail::Box.\n\n$obj->timespan2seconds($time)\nMail::Box::Dir->timespan2seconds($time)\nInherited, see \"Other methods\" in Mail::Box\n\nError handling\nExtends \"Error handling\" in Mail::Box.\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::Dir->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::Dir->log( [$level, [$strings]] )\nInherited, see \"Error handling\" in Mail::Reporter\n\n$obj->logPriority($level)\nMail::Box::Dir->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.\n\n$obj->DESTROY()\nInherited, see \"Cleanup\" in Mail::Box\n",
                "subsections": []
            },
            "DETAILS": {
                "content": "Extends \"DETAILS\" in Mail::Box.\n",
                "subsections": []
            },
            "DIAGNOSTICS": {
                "content": "Warning: Changes not written to read-only folder $self.\nYou have opened the folder read-only --which is the default set by\nnew(access)--, made modifications, and now want to close it.  Set\nclose(force) if you want to overrule the access mode, or close the\nfolder with close(write) set to \"NEVER\".\n\nError: Copying failed for one message.\nFor some reason, for instance disc full, removed by external\nprocess, or read-protection, it is impossible to copy one of the\nmessages.  Copying will proceed for the other messages.\n\nError: Destination folder $name is not writable.\nThe folder where the messages are copied to is not opened with\nwrite access (see new(access)).  This has no relation with write\npermission to the folder which is controlled by your operating\nsystem.\n\nWarning: Different messages with id $msgid\nThe message id is discovered more than once within the same folder,\nbut the content of the message seems to be different.  This should\nnot be possible: each message must be unique.\n\nError: Folder $name is opened read-only\nYou can not write to this folder unless you have opened the folder\nto write or append with new(access), or the \"force\" option is set\ntrue.\n\nError: Folder $name not deleted: not writable.\nThe folder must be opened with write access via new(access),\notherwise removing it will be refused.  So, you may have write-\naccess according to the operating system, but that will not\nautomatically mean that this \"delete\" method permits you to.  The\nreverse remark is valid as well.\n\nWarning: Folder directory $directory is write-protected.\nThe folder directory does already exist and is write protected,\nwhich may interfere with the requested write access.  Change\nnew(access) or the permissions on the directory.\n\nError: Invalid timespan '$timespan' specified.\nThe string does not follow the strict rules of the time span syntax\nwhich is permitted as parameter.\n\nWarning: Message-id '$msgid' does not contain a domain.\nAccording to the RFCs, message-ids need to contain a unique random\npart, then an \"@\", and then a domain name.  This is made to avoid\nthe creation of two messages with the same id.  The warning emerges\nwhen the \"@\" is missing from the string.\n\nWarning: No directory $name for folder of $class\nError: 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\nError: Unable to create subfolder $name of $folder.\nThe copy includes the subfolders, but for some reason it was not\npossible to copy one of these.  Copying will proceed for all other\nsub-folders.\n\nError: Writing folder $name failed\nFor some reason (you probably got more error messages about this\nproblem) it is impossible to write the folder, although you should\nbecause there were changes made.\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-20               Mail::Box::Dir(3pm)",
                "subsections": []
            }
        }
    }
}