=head1 NAME Mail::Box::IMAP4::Message - one message on a IMAP4 server =head1 INHERITANCE Mail::Box::IMAP4::Message is a Mail::Box::Net::Message is a Mail::Box::Message is a Mail::Message is a Mail::Reporter =head1 SYNOPSIS my $folder = new Mail::Box::IMAP4 ... my $message = $folder->message(10); =head1 DESCRIPTION A C represents one message on a IMAP4 server, maintained by a L folder. Each message is stored as separate entity on the server, and maybe temporarily in your program as well. =head1 METHODS =head2 Constructors $obj-EB(OPTIONS) =over 4 See L =back Mail::Box::IMAP4::Message-EB(OPTIONS) =over 4 Option --Defined in --Default body Mail::Message undef body_type Mail::Box::Message Mail::Message::Body::Lines cache_body cache_head cache_labels 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 unique Mail::Box::Net::Message write_labels . body => OBJECT . body_type => CODE|CLASS . cache_body => BOOLEAN . cache_head => BOOLEAN . cache_labels => BOOLEAN =over 4 All standard IMAP labels can be cached on the local server to improve speed. This has the same dangers as setting C to false. The caching starts when the first label of the message was read. =back . 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 . unique => STRING . write_labels => BOOLEAN =over 4 When a label is changed or its value read, using L, that info should be sent to the IMAP server. But, this action could be superfluous, for instance because the label was already set or clear, and communication is expensive. On the other hand, someone else may use IMAP to make changes in the same folder, and will get the updates too late or never... =back =back =head2 Constructing a message $obj-EB([RG-OBJECT|OPTIONS]) =over 4 See L =back Mail::Box::IMAP4::Message-EB([MESSAGE|PART|BODY], CONTENT) =over 4 See L =back Mail::Box::IMAP4::Message-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::IMAP4::Message-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::IMAP4::Message-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 Returns the size of this message. If the message is still on the remote server, IMAP is used to ask for the size. When the message is already loaded onto the local system, the size of the parsed message is taken. These sizes can differ because the difference in line-ending representation. =back $obj-EB =over 4 See L =back $obj-EB([STRING|undef]) =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 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 =over 4 See L =back $obj-EB =over 4 See L =back =head2 The body $obj-EB([BODY]) =over 4 See L =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