Message::Part(3)

NAME
Mail::Message::Part - a part of a message, but a message by itself.

CLASS HIERARCHY
 Mail::Message::Part
 is a Mail::Message + ::Construct
 is a Mail::Reporter

SYNOPSIS
 my Mail::Message $message = ...;
 if($message->isMultipart) {
     my Mail::Message::Part $part;

     foreach $part ($message->body->parts) {
         $part->print(\*OUT);
         my $attachbody = $part->head;
         my $attachhead = $part->body;
     }
 }

DESCRIPTION
A "Mail::Message::Part" object contains a message which is included in an other message. For instance attachments are parts.

READ "Mail::Message" FIRST. A part is a special message: it has a reference to its parent message, and will usually not be sub-classed into mail-folder-specific variants.

METHOD INDEX
Methods prefixed with an abbreviation are described in Mail::Message (MM), Mail::Reporter (MR), Mail::Message::Construct (MMC).

The general methods for "Mail::Message::Part" objects:

   MM bcc                               MR log [LEVEL [,STRINGS]]
  MMC bounce OPTIONS                    MM messageId
  MMC build [MESSAGE|BODY], CONTENT     MM modified [BOOL]
      buildFromBody BODY, MULTIPA...       new OPTIONS
   MM cc                                MM nrLines
   MM date                              MM parent
   MM decoded OPTIONS                   MM parts ['ALL'|'ACTIVE'|'DELE...
      delete                            MM print [FILEHANDLE]
      deleted [BOOLEAN]                MMC printStructure [INDENT]
   MM destinations                     MMC read FILEHANDLE|SCALAR|REF-...
   MM encode OPTIONS                   MMC reply OPTIONS
   MR errors                           MMC replyPrelude [STRING|FIELD|...
  MMC file                             MMC replySubject STRING
  MMC forward OPTIONS                   MR report [LEVEL]
  MMC forwardPostlude                   MR reportAll [LEVEL]
  MMC forwardPrelude                    MM send [MAILER], OPTIONS
  MMC forwardSubject STRING             MM size
   MM from                             MMC string
   MM get FIELD                         MM subject
   MM guessTimestamp                    MM timestamp
   MM isDummy                           MM to
   MM isMultipart                       MM toplevel
   MM isPart                            MR trace [LEVEL]
   MM label LABEL [,VALUE [LABEL,...    MR warnings
  MMC lines

The extra methods for extension writers:

   MR AUTOLOAD                          MR logPriority LEVEL
   MM DESTROY                           MR logSettings
   MM body [BODY]                       MR notImplemented
      clone                             MM readBody PARSER, HEAD [, BO...
      coerce BODY|MESSAGE, MULTIPART    MM readFromParser PARSER, [BOD...
   MM head [HEAD]                       MM readHead PARSER [,CLASS]
   MR inGlobalDestruction               MM statusToLabels
   MM isDelayed                         MM storeBody BODY
   MM labels                            MM takeMessageId [STRING]
   MM labelsToStatus

METHODS

new OPTIONS
    Create a message part. You can add the following options:

     OPTIONS              DESCRIBED IN           DEFAULT
     body                 Mail::Message          <undef>
     head                 Mail::Message          <undef>
     parent               Mail::Message::Part    <obligatory>

    * parent => MESSAGE
        (obligatory) reference to the parental "Mail::Message" object where this part is a member of. That object may be a part itself.

buildFromBody BODY, MULTIPART, HEADERS
    (Class method) Shape a message part around a BODY. Bodies have information about their content in them, which is used to construct a header for the attachment. The MULTIPART refers to the parent body which is a multipart.

    Next to that, more HEADERS can be specified as key-value combinations or "Mail::Message::Field" objects. These are added in order, and before the data from the body is taken. No fields are obligatory.

    Example:

     my $part = Mail::Message::Part->buildFromBody($body, $parent);

delete
    Do not print or send this part of the message anymore.

deleted [BOOLEAN]
    Returns whether this part is still in the body or not, optionally after setting it to the BOOLEAN.

METHODS for extension writers

coerce BODY|MESSAGE, MULTIPART
    In extension to full messages, message parts can be coerced from a BODY "Mail::Message::Body". This is because the body data contains enough information. The MULTIPART refers to the parent body.

    Parts can be build from "Mail::Message::Body", "Mail::Message", "Mail::Internet", and "MIME::Entity" objects.

clone
    A message part is cloned as plain message, and may be added as such to a folder. It will be coerced into a part when added to a multi-part body.

SEE ALSO
Mail::Box-Overview

For support and additional documentation, see http://perl.overmeer.net/mailbox/

AUTHOR
Mark Overmeer (mailbox@overmeer.net). All rights reserved. This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.

VERSION
This code is beta, version 2.018.

Copyright (c) 2001-2002 Mark Overmeer. All rights reserved. This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.