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


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 the Mail::Box::Netzwert manpage.

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 the Storable manpage if you want to.


METHODS

Constructors

Mail::Server::IMAP4::Fetch->new(MESSAGE|PART, OPTIONS)

 Option        Defined in  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([FILEHANDLE|undef, [NUMBER]])

Print the structure of the fetch data to the specified FILEHANDLE 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''. =back


REFERENCES

See the MailBox website at http://perl.overmeer.net/mailbox/ for more details.


COPYRIGHTS

Distribution version 2.059. Written by Mark Overmeer (mark@overmeer.net) See the ChangeLog for other contributors.

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

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