The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.

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.