=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 =over 4 =item $obj-EB(OPTIONS) See L =item Mail::Box::Message::Destructed-EB(MESSAGE-ID, OPTIONS) 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 =over 2 =item body => OBJECT =item body_type => CODE|CLASS =item deleted => BOOLEAN =item field_type => CLASS =item folder => FOLDER =item head => OBJECT =item head_type => CLASS =item labels => ARRAY|HASH =item log => LEVEL =item messageId => STRING =item modified => BOOLEAN =item size => INTEGER =item trace => LEVEL =item trusted => BOOLEAN =back =back =head2 Constructing a message =over 4 =item $obj-EB([RG-OBJECT|OPTIONS]) See L =item Mail::Box::Message::Destructed-EB([MESSAGE|PART|BODY], CONTENT) See L =item Mail::Box::Message::Destructed-EB(BODY, [HEAD], HEADERS) See L =item $obj-EB(OPTIONS) See L =item $obj-EB(OPTIONS) See L =item $obj-EB(OPTIONS) See L =item $obj-EB(OPTIONS) See L =item $obj-EB(OPTIONS) See L =item $obj-EB() See L =item $obj-EB() See L =item $obj-EB(STRING) See L =item Mail::Box::Message::Destructed-EB(FILEHANDLE|SCALAR|REF-SCALAR|ARRAY-OF-LINES, OPTIONS) See L =item $obj-EB(OPTIONS) See L =item $obj-EB(OPTIONS) See L =item $obj-EB([STRING|FIELD|ADDRESS|ARRAY-OF-THINGS]) See L =item $obj-EB(STRING) =item Mail::Box::Message::Destructed-EB(STRING) See L =back =head2 The message =over 4 =item $obj-EB() See L =item $obj-EB(FOLDER, OPTIONS) See L =item $obj-EB([FOLDER]) See L =item $obj-EB() See L =item $obj-EB() See L =item $obj-EB() See L =item $obj-EB(FOLDER, OPTIONS) See L =item $obj-EB() See L =item $obj-EB([FILEHANDLE]) See L =item $obj-EB([MAILER], OPTIONS) See L =item $obj-EB([INTEGER]) See L =item $obj-EB() See L =item $obj-EB() See L =item $obj-EB([FILEHANDLE]) See L =back =head2 The header =over 4 =item $obj-EB() See L =item $obj-EB() See L =item $obj-EB() See L =item $obj-EB() See L =item $obj-EB() See L =item $obj-EB(FIELDNAME) See L =item $obj-EB() See L =item $obj-EB([HEAD]) 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. =item $obj-EB() See L =item $obj-EB() See L =item $obj-EB(FIELDNAME) See L =item $obj-EB() See L =item $obj-EB() See L =item $obj-EB() See L =back =head2 The body =over 4 =item $obj-EB([BODY]) 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. =item $obj-EB() See L =item $obj-EB(OPTIONS) See L =item $obj-EB(OPTIONS) See L =item $obj-EB() See L =item $obj-EB() See L =item $obj-EB(['ALL'|'ACTIVE'|'DELETED'|'RECURSE'|FILTER]) See L =back =head2 Flags =over 4 =item $obj-EB() See L =item $obj-EB([BOOLEAN]) See L =item $obj-EB() See L =item $obj-EB() See L =item $obj-EB