=head1 NAME Mail::Box::Message::Destructed - a destructed message =head1 INHERITANCE Mail::Box::Message::Destructed is a Mail::Box::Message is a Mail::Message is a Mail::Reporter =head1 SYNOPSIS $folder->message(3)->destruct; =head1 DESCRIPTION When a message folder is read, each message will be parsed into Perl structures. Especially the header structure can consume a huge amount of memory (message bodies can be moved to external temporary files). Destructed messages have forcefully cleaned-up all header and body information, and are therefore much smaller. Some useful information is still in the object. BE WARNED: once a message is destructed, it cannot be revived. Destructing enforces irreversable deletion from the folder. If you have a folder opened for read-only, the message will stay in that folder, but otherwise it may be deleted. =head1 METHODS =head2 Constructors $obj-EB(OPTIONS) =over 4 See L =back Mail::Box::Message::Destructed-EB(MESSAGE-ID, OPTIONS) =over 4 You cannot instantiate a destructed message object. Destruction is done by calling L. Option --Defined in --Default body Mail::Message undef body_type Mail::Box::Message deleted Mail::Message field_type Mail::Message undef folder Mail::Box::Message head Mail::Message undef head_type Mail::Message Mail::Message::Head::Complete labels Mail::Message {} log Mail::Reporter 'WARNINGS' messageId Mail::Message undef modified Mail::Message size Mail::Box::Message undef trace Mail::Reporter 'WARNINGS' trusted Mail::Message . body => OBJECT . body_type => CODE|CLASS . deleted => BOOLEAN . field_type => CLASS . folder => FOLDER . head => OBJECT . head_type => CLASS . labels => ARRAY|HASH . log => LEVEL . messageId => STRING . modified => BOOLEAN . size => INTEGER . trace => LEVEL . trusted => BOOLEAN =back =head2 Constructing a message $obj-EB([RG-OBJECT|OPTIONS]) =over 4 See L =back Mail::Box::Message::Destructed-EB([MESSAGE|PART|BODY], CONTENT) =over 4 See L =back Mail::Box::Message::Destructed-EB(BODY, [HEAD], HEADERS) =over 4 See L =back $obj-EB(OPTIONS) =over 4 See L =back $obj-EB(OPTIONS) =over 4 See L =back $obj-EB(OPTIONS) =over 4 See L =back $obj-EB(OPTIONS) =over 4 See L =back $obj-EB(OPTIONS) =over 4 See L =back $obj-EB =over 4 See L =back $obj-EB =over 4 See L =back $obj-EB(STRING) =over 4 See L =back Mail::Box::Message::Destructed-EB(FILEHANDLE|SCALAR|REF-SCALAR|ARRAY-OF-LINES, OPTIONS) =over 4 See L =back $obj-EB(OPTIONS) =over 4 See L =back $obj-EB(OPTIONS) =over 4 See L =back $obj-EB([STRING|FIELD|ADDRESS|ARRAY-OF-THINGS]) =over 4 See L =back $obj-EB(STRING) Mail::Box::Message::Destructed-EB(STRING) =over 4 See L =back =head2 The message $obj-EB =over 4 See L =back $obj-EB(FOLDER, OPTIONS) =over 4 See L =back $obj-EB([FOLDER]) =over 4 See L =back $obj-EB =over 4 See L =back $obj-EB =over 4 See L =back $obj-EB =over 4 See L =back $obj-EB(FOLDER, OPTIONS) =over 4 See L =back $obj-EB([FILEHANDLE]) =over 4 See L =back $obj-EB([MAILER], OPTIONS) =over 4 See L =back $obj-EB([INTEGER]) =over 4 See L =back $obj-EB =over 4 See L =back $obj-EB =over 4 See L =back $obj-EB([FILEHANDLE]) =over 4 See L =back =head2 The header $obj-EB =over 4 See L =back $obj-EB =over 4 See L =back $obj-EB =over 4 See L =back $obj-EB =over 4 See L =back $obj-EB =over 4 See L =back $obj-EB(FIELDNAME) =over 4 See L =back $obj-EB =over 4 See L =back $obj-EB([HEAD]) =over 4 When C is specified for HEAD, no change has to take place and the method returns silently. In all other cases, this method will complain that the header has been removed. =back $obj-EB =over 4 See L =back $obj-EB =over 4 See L =back $obj-EB(FIELDNAME) =over 4 See L =back $obj-EB =over 4 See L =back $obj-EB =over 4 See L =back $obj-EB =over 4 See L =back =head2 The body $obj-EB([BODY]) =over 4 When C is specified for BODY, no change has to take place and the method returns silently. In all other cases, this method will complain that the body data has been removed. =back $obj-EB =over 4 See L =back $obj-EB(OPTIONS) =over 4 See L =back $obj-EB(OPTIONS) =over 4 See L =back $obj-EB =over 4 See L =back $obj-EB =over 4 See L =back $obj-EB(['ALL'|'ACTIVE'|'DELETED'|'RECURSE'|FILTER]) =over 4 See L =back =head2 Flags $obj-EB =over 4 See L =back $obj-EB([BOOLEAN]) =over 4 See L =back $obj-EB =over 4 See L =back $obj-EB =over 4 See L =back $obj-EB