Provided by: libmail-box-imap4-perl_3.010-1_all bug

NAME

       Mail::Server::IMAP4::Fetch - message info for IMAP protocol speed-up

SYNOPSIS

         my $imap = Mail::Server::IMAP4::Fetch->new($msg);
         print $imap->fetchBody(1);   # for FETCH BODYSTRUCTURE
         print $imap->fetchBody;      # for FETCH BODY
         print $imap->fetchEnvelope;  # for FETCH ENVELOPE
         print $imap->fetchSize;

DESCRIPTION

       Create a new object hierarchy, which contains information to capture the most important details about the
       message.  The object can be used to speed-up IMAP-server implementations, as Mail::Box::Netzwert.

       The object used here is a simplified representation of a Mail::Box::Message object.  It does not maintain
       headers and does not refer to the folder.  It only works with messages stored in a file.  Therefore, this
       object can be frozen by Storable if you want to.

METHODS

   Constructors
       $class->new( <$message|$part>, %options )

            -Option      --Default
             md5checksums  0

           md5checksums => BOOLEAN

   Attributes
       $obj->bodyLocation()

       $obj->headLocation()

       $obj->partLocation()

   IMAP Commands
       $obj->fetchBody($extended)
           Returns  one  string,  representing  the  message's  structure  as defined by the IMAP protocol.  The
           boolean argument indicates whether you like to have the $extended information, as  the  imap  command
           'FETCH BODYSTRUCTURE' defines or the limited information of 'FETCH BODY'.

       $obj->fetchEnvelope()
           Returns a string representation of some header information.

       $obj->fetchSize()
           Returns the size of the message body.

       $obj->part( [$partnr] )
           The  partnummer  is a list of dot-separated positive integers, numbering (nested) parts in multi-part
           message bodies.  By default, the info of the main message is returned.

           » example:

             my $partinfo = $msg->info->part('1.2.1');
             print $msg->info->part('3.3')->fetchBody;

       $obj->printStructure( [<$fh|undef>, [$number]] )
           Print the structure of the fetch data  to  the  specified  $fh  or  the  selected  filehandle.   When
           explicitly  "undef"  is  specified  as  handle,  then  the output will be returned as string.  Only a
           limited set of the information is displayed.

           » example:

             my $imap = ...;
             $imap->printStructure(\*OUTPUT);
             $imap->printStructure;
             my $struct = $imap->printStructure(undef);

   Internals

DETAILS

       See

       RFC2060: "Internet Message Access Protocol IMAP4v1" section 7.4.2
       RFC2045: "MIME Part One: Format of Internet Message Bodies".

SEE ALSO

       This  module  is  part  of  Mail-Box-IMAP4  version  3.010,  built  on  November   24,   2025.   Website:
       http://perl.overmeer.net/CPAN/

LICENSE

       For contributors see file ChangeLog.

       This software is copyright (c) 2001-2025 by Mark Overmeer.

       This  is  free  software;  you  can  redistribute  it and/or modify it under the same terms as the Perl 5
       programming language system itself.

perl v5.40.1                                       2025-12-07                    Mail::Server::IMAP4::Fetch(3pm)