unixdev.net


Switch to SpeakEasy.net DSL

The Modular Manual Browser

Home Page
Manual: (Debian-5.0)
Page:
Section:
Apropos / Subsearch:
optional field

Mail::Box::Message(3pmUser Contributed Perl DocumentatiMail::Box::Message(3pm)



NAME
       Mail::Box::Message - manage one message within a mail-folder

INHERITANCE
        Mail::Box::Message
          is a Mail::Message
          is a Mail::Reporter

        Mail::Box::Message is extended by
          Mail::Box::Dir::Message
          Mail::Box::File::Message
          Mail::Box::Message::Destructed
          Mail::Box::Net::Message

SYNOPSIS
        # Usually these message objects are created indirectly
        use Mail::Box::Manager;
        my $manager = Mail::Box::Manager->new;
        my $folder  = $manager->open(folder => 'Mail/Drafts');
        my $msg     = $folder->message(1);
        $msg->delete;
        $msg->size;   # and much more

DESCRIPTION
       These pages do only describe methods which relate to folders.  If you
       access the knowledge of a message, then read Mail::Message.

       During its life, a message will pass through certain stages.  These
       stages were introduced to reduce the access-time to the folder.
       Changing from stage, the message's body and head objects may change.

METHODS
       Constructors

       $obj->clone(OPTIONS)

           See "Constructors" in Mail::Message

       Mail::Box::Message->new(OPTIONS)

        Option    --Defined in     --Default
        body        Mail::Message    undef
        body_type                    <from folder>
        deleted     Mail::Message    <false>
        field_type  Mail::Message    undef
        folder                       <required>
        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    <false>
        size                         undef
        trace       Mail::Reporter   'WARNINGS'
        trusted     Mail::Message    <false>

           . body => OBJECT

           . body_type => CODE|CLASS

               If the body of a message is used delay-loaded, the message must
               what type of message to become when it finally gets parsed.
               The folder which is delaying the load must specify the
               algorithm to determine that type.

           . deleted => BOOLEAN

           . field_type => CLASS

           . folder => FOLDER

               The folder where this message appeared in.  The argument is an
               instance of (a sub-class of) a Mail::Box.

           . head => OBJECT

           . head_type => CLASS

           . labels => ARRAY|HASH

           . log => LEVEL

           . messageId => STRING

           . modified => BOOLEAN

           . size => INTEGER

               The size of the message, which includes head and body, but
               without the message separators which may be used by the folder
               type.

           . trace => LEVEL

           . trusted => BOOLEAN

       Constructing a message

       $obj->bounce([RG-OBJECT|OPTIONS])

           See "Constructing a message" in Mail::Message::Construct::Bounce

       Mail::Box::Message->build([MESSAGE|PART|BODY], CONTENT)

           See "Constructing a message" in Mail::Message::Construct::Build

       Mail::Box::Message->buildFromBody(BODY, [HEAD], HEADERS)

           See "Constructing a message" in Mail::Message::Construct::Build

       $obj->forward(OPTIONS)

           See "Constructing a message" in Mail::Message::Construct::Forward

       $obj->forwardAttach(OPTIONS)

           See "Constructing a message" in Mail::Message::Construct::Forward

       $obj->forwardEncapsulate(OPTIONS)

           See "Constructing a message" in Mail::Message::Construct::Forward

       $obj->forwardInline(OPTIONS)

           See "Constructing a message" in Mail::Message::Construct::Forward

       $obj->forwardNo(OPTIONS)

           See "Constructing a message" in Mail::Message::Construct::Forward

       $obj->forwardPostlude

           See "Constructing a message" in Mail::Message::Construct::Forward

       $obj->forwardPrelude

           See "Constructing a message" in Mail::Message::Construct::Forward

       $obj->forwardSubject(STRING)

           See "Constructing a message" in Mail::Message::Construct::Forward

       Mail::Box::Message->read(FILEHANDLE|SCALAR|REF-SCALAR|ARRAY-OF-LINES,
       OPTIONS)

           See "Constructing a message" in Mail::Message::Construct::Read

       $obj->rebuild(OPTIONS)

           See "Constructing a message" in Mail::Message::Construct::Rebuild

       $obj->reply(OPTIONS)

           See "Constructing a message" in Mail::Message::Construct::Reply

       $obj->replyPrelude([STRING|FIELD|ADDRESS|ARRAY-OF-THINGS])

           See "Constructing a message" in Mail::Message::Construct::Reply

       $obj->replySubject(STRING)

       Mail::Box::Message->replySubject(STRING)

           See "Constructing a message" in Mail::Message::Construct::Reply

       The message

       $obj->container

           See "The message" in Mail::Message

       $obj->copyTo(FOLDER, OPTIONS)

           Copy the message to the indicated opened FOLDER, without deleting
           the original.  The coerced message (the clone in the destination
           folder) is returned.

            Option      --Default
            shallow       <false>
            shallow_body  <false>
            shallow_head  <false>
            share         <false>

           . shallow => BOOLEAN

               Used for clone(shallow).

           . shallow_body => BOOLEAN

               Used for clone(shallow_body).

           . shallow_head => BOOLEAN

               Used for clone(shallow_head).

           . share => BOOLEAN

               Try to share the physical storage of the message between the
               two folders.  Sometimes, they even may be of different types.
               When not possible, this options will be silently ignored.

           example:

            my $draft = $mgr->open(folder => 'Draft');
            $message->copyTo($draft, share => 1);

       $obj->folder([FOLDER])

           In with folder did we detect this message/dummy?  This is a
           reference to the folder-object.

       $obj->isDummy

           See "The message" in Mail::Message

       $obj->isPart

           See "The message" in Mail::Message

       $obj->messageId

           See "The message" in Mail::Message

       $obj->moveTo(FOLDER, OPTIONS)

           Move the message from this folder to the FOLDER specified.  This
           will create a copy using clone() first.  Then, this original
           message is flagged to get deleted.  So until the source folder is
           closed, two copies of the message may stay in memory.

           The newly created message clone (part of the destination folder) is
           returned.  All OPTIONS are passed to copyTo()

            Option      --Default
            shallow_body  <undef>
            share         <true unless shallow_body exists>

           . shallow_body => BOOLEAN

               Only create a shallow body, which means that the header can not
               be reused.  A message can therefore not be shared in storage
               unless explicitly stated.

           . share => BOOLEAN

               When there is a chance that the original message can be
               undeleted, then this must be set to false.  Otherwise a shallow
               clone will be made, which will share the header which can be
               modified in the undeleted message.

           example: of moving a message

            my $t = $msg->moveTo('trash');

           is equivalent to

            my $t = $msg->copyTo('trash', share => 1);
            $msg->delete;

       $obj->print([FILEHANDLE])

           See "The message" in Mail::Message

       $obj->send([MAILER], OPTIONS)

           See "The message" in Mail::Message

       $obj->seqnr([INTEGER])

           Get the number of this message is the current folder.  It starts
           counting from zero.  Do not change the number.

       $obj->size

           See "The message" in Mail::Message

       $obj->toplevel

           See "The message" in Mail::Message

       $obj->write([FILEHANDLE])

           See "The message" in Mail::Message

       The header

       $obj->bcc

           See "The header" in Mail::Message

       $obj->cc

           See "The header" in Mail::Message

       $obj->date

           See "The header" in Mail::Message

       $obj->destinations

           See "The header" in Mail::Message

       $obj->from

           See "The header" in Mail::Message

       $obj->get(FIELDNAME)

           See "The header" in Mail::Message

       $obj->guessTimestamp

           See "The header" in Mail::Message

       $obj->head([HEAD])

           See "The header" in Mail::Message

       $obj->nrLines

           See "The header" in Mail::Message

       $obj->sender

           See "The header" in Mail::Message

       $obj->study(FIELDNAME)

           See "The header" in Mail::Message

       $obj->subject

           See "The header" in Mail::Message

       $obj->timestamp

           See "The header" in Mail::Message

       $obj->to

           See "The header" in Mail::Message

       The body

       $obj->body([BODY])

           See "The body" in Mail::Message

       $obj->contentType

           See "The body" in Mail::Message

       $obj->decoded(OPTIONS)

           See "The body" in Mail::Message

       $obj->encode(OPTIONS)

           See "The body" in Mail::Message

       $obj->isMultipart

           See "The body" in Mail::Message

       $obj->isNested

           See "The body" in Mail::Message

       $obj->parts(['ALL'|'ACTIVE'|'DELETED'|'RECURSE'|FILTER])

           See "The body" in Mail::Message

       Flags

       $obj->delete

           See "Flags" in Mail::Message

       $obj->deleted([BOOLEAN])

           See "Flags" in Mail::Message

       $obj->isDeleted

           See "Flags" in Mail::Message

       $obj->isModified

           See "Flags" in Mail::Message

       $obj->label(LABEL|PAIRS)

           See "Flags" in Mail::Message

       $obj->labels

           See "Flags" in Mail::Message

       $obj->labelsToStatus

           See "Flags" in Mail::Message

       $obj->modified([BOOLEAN])

           See "Flags" in Mail::Message

       $obj->statusToLabels

           See "Flags" in Mail::Message

       The whole message as text

       $obj->file

           See "The whole message as text" in Mail::Message::Construct::Text

       $obj->lines

           See "The whole message as text" in Mail::Message::Construct::Text

       $obj->printStructure([FILEHANDLE|undef],[INDENT])

           See "The whole message as text" in Mail::Message::Construct::Text

       $obj->string

           See "The whole message as text" in Mail::Message::Construct::Text

       Internals

       $obj->clonedFrom

           See "Internals" in Mail::Message

       Mail::Box::Message->coerce(MESSAGE, OPTIONS)

           See "Internals" in Mail::Message

       $obj->diskDelete

           Remove a message from disk.  This is not from the folder, but
           everything else, like parts of the message which are stored outside
           from the folder.

       $obj->isDelayed

           See "Internals" in Mail::Message

       $obj->readBody(PARSER, HEAD [, BODYTYPE])

           Read the body of one message.  The PARSER gives access to the
           folder file.  The HEAD has been read with readHead().  The optional
           BODYTYPE supplies the class name of the body to be created, or a
           code reference to a routine which can produce a body type based on
           the head (passed as first argument).

           By default, the BODYTYPE will call Mail::Box::determineBodyType()
           where the message will be added to.

       $obj->readFromParser(PARSER, [BODYTYPE])

           See "Internals" in Mail::Message

       $obj->readHead(PARSER [,CLASS])

           See "Internals" in Mail::Message

       $obj->recursiveRebuildPart(PART, OPTIONS)

           See "Internals" in Mail::Message::Construct::Rebuild

       $obj->storeBody(BODY)

           See "Internals" in Mail::Message

       $obj->takeMessageId([STRING])

           See "Internals" in Mail::Message

       Error handling

       $obj->AUTOLOAD

           See "METHODS" in Mail::Message::Construct

       $obj->addReport(OBJECT)

           See "Error handling" in Mail::Reporter

       $obj->defaultTrace([LEVEL]|[LOGLEVEL, TRACELEVEL]|[LEVEL, CALLBACK])

       Mail::Box::Message->defaultTrace([LEVEL]|[LOGLEVEL, TRACELEVEL]|[LEVEL,
       CALLBACK])

           See "Error handling" in Mail::Reporter

       $obj->errors

           See "Error handling" in Mail::Reporter

       $obj->log([LEVEL [,STRINGS]])

       Mail::Box::Message->log([LEVEL [,STRINGS]])

           See "Error handling" in Mail::Reporter

       $obj->logPriority(LEVEL)

       Mail::Box::Message->logPriority(LEVEL)

           See "Error handling" in Mail::Reporter

       $obj->logSettings

           See "Error handling" in Mail::Reporter

       $obj->notImplemented

           See "Error handling" in Mail::Reporter

       $obj->report([LEVEL])

           See "Error handling" in Mail::Reporter

       $obj->reportAll([LEVEL])

           See "Error handling" in Mail::Reporter

       $obj->shortSize([VALUE])

       Mail::Box::Message->shortSize([VALUE])

           See "Error handling" in Mail::Message

       $obj->shortString

           See "Error handling" in Mail::Message

       $obj->trace([LEVEL])

           See "Error handling" in Mail::Reporter

       $obj->warnings

           See "Error handling" in Mail::Reporter

       Cleanup

       $obj->DESTROY

           See "Cleanup" in Mail::Message

       $obj->destruct

           Removes most of the memory occupied by the message by detaching the
           header and body.  Then, the object changes into a
           Mail::Box::Message::Destructed which will catch all attempts to
           access the header and body.  Be careful with the usage of this
           method.

       $obj->inGlobalDestruction

           See "Cleanup" in Mail::Reporter

DETAILS
DIAGNOSTICS
       Error: Cannot coerce a $class object into a $class object

       Error: Cannot include forward source as $include.

           Unknown alternative for the forward(include).  Valid choices are
           "NO", "INLINE", "ATTACH", and "ENCAPSULATE".

       Error: Cannot include reply source as $include.

           Unknown alternative for the "include" option of reply().  Valid
           choices are "NO", "INLINE", and "ATTACH".

       Error: Method bounce requires To, Cc, or Bcc

           The message bounce() method forwards a received message off to
           someone else without modification; you must specified it's new
           destination.  If you have the urge not to specify any destination,
           you probably are looking for reply(). When you wish to modify the
           content, use forward().

       Error: Method forwardAttach requires a preamble

       Error: Method forwardEncapsulate requires a preamble

       Error: No address to create forwarded to.

           If a forward message is created, a destination address must be
           specified.

       Error: No default mailer found to send message.

           The message send() mechanism had not enough information to
           automatically find a mail transfer agent to sent this message.
           Specify a mailer explicitly using the "via" options.

       Error: No rebuild rule $name defined.

       Error: Only build() Mail::Message's; they are not in a folder yet

           You may wish to construct a message to be stored in a some kind of
           folder, but you need to do that in two steps.  First, create a
           normal Mail::Message, and then add it to the folder.  During this
           Mail::Box::addMessage() process, the message will get coerce()-d
           into the right message type, adding storage information and the
           like.

       Error: Package $package does not implement $method.

           Fatal error: the specific package (or one of its superclasses) does
           not implement this method where it should. This message means that
           some other related classes do implement this method however the
           class at hand does not.  Probably you should investigate this and
           probably inform the author of the package.

       Error: coercion starts with some object

SEE ALSO
       This module is part of Mail-Box distribution version 2.082, built on
       April 28, 2008. Website: http://perl.overmeer.net/mailbox/

LICENSE
       Copyrights 2001-2008 by Mark Overmeer. For other contributors see
       ChangeLog.

       This program is free software; you can redistribute it and/or modify it
       under the same terms as Perl itself.  See
       http://www.perl.com/perl/misc/Artistic.html



perl v5.10.0                      2008-04-28           Mail::Box::Message(3pm)