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(\*STDOUT);
        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

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

MMC bounce OPTIONS                    MM nrLines
MMC build [MESSAGE|BODY], CONTENT     MM parent
    buildFromBody BODY, MULTIPA...    MM parts
 MM decoded OPTIONS                   MM print [FILEHANDLE]
 MM destinations                      MM printUndisclosed [FILEHANDLE]
 MM encode OPTIONS                   MMC quotePrelude [STRING|FIELD]
 MR errors                           MMC reply OPTIONS
 MM from|to|cc|bcc|date              MMC replySubject STRING
 MM get FIELD                         MR report [LEVEL]
 MM guessTimestamp                    MR reportAll [LEVEL]
 MM isDummy                           MM send [MAILER], OPTIONS
 MM isMultipart                       MM size
 MM isPart                            MM subject
 MR log [LEVEL [,STRINGS]]            MM timestamp
 MM messageId                         MM toplevel
 MM modified [BOOL]                   MR trace [LEVEL]
    new OPTIONS                       MR warnings

The extra methods for extension writers:

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

Methods prefixed with an abbreviation are described in the following manual-pages:

 MM = L<Mail::Message>
 MR = L<Mail::Reporter>
MMC = L<Mail::Message::Construct>

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);

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.

SEE ALSO

Mail::Box-Overview

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.00_20.

Copyright (c) 2001 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.