Mail::Message::Body::Nested
is a Mail::Message::Body
is a Mail::Reporter
Mail::Message::Body also extends Mail::Reporter
is a Mail::Reporter
See Mail::Message::Body
if($body->isNested) {
my $nest = $body->nested;
$nest->delete;
}
The body (content) of a message can be stored in various ways. In
this manual-page you find the description of extra functionality you have
when a message contains a nested message, like
"message/rfc822".
A nested message is different from a multipart message which
contains only one element, because a nested message has a full set of
message header fields defined by the RFC882, where a part of a multipart has
only a few. But because we do not keep track whether all fields are
presented, a "Mail::Message::Part" is used
anyway.
WARNING: Since 2023, at least outlook started to interpret
RFC6533 incorrectly. Bodies of type 'message/rfc822' can only be 'nested',
but when they (illegally) have Content-Transfer-Encoding, they can now
behave like normal message parts (the same as a pdf or image).
Extends "DESCRIPTION" in Mail::Message::Body.
Extends "METHODS" in Mail::Message::Body.
Extends "Constructors" in Mail::Message::Body.
- $obj->clone()
- Inherited, see "Constructors" in Mail::Message::Body
- $class->new(%options)
- Inherited, see "Constructors" in Mail::Message::Body
-Option --Defined in --Default
based_on Mail::Message::Body undef
charset Mail::Message::Body 'PERL'
checked Mail::Message::Body false
content_id Mail::Message::Body undef
data Mail::Message::Body undef
description Mail::Message::Body undef
disposition Mail::Message::Body undef
eol Mail::Message::Body 'NATIVE'
file Mail::Message::Body undef
filename Mail::Message::Body undef
language Mail::Message::Body undef
message Mail::Message::Body undef
mime_type Mail::Message::Body 'message/rfc822'
modified Mail::Message::Body false
nested undef
transfer_encoding Mail::Message::Body 'none'
» example:
my $msg = $folder->message(3);
my $encaps= Mail::Message::Body::Nested->new(nested => $msg);
# The body will be coerced into a message, which lacks a few
# lines but we do not bother.
my $intro = Mail::Message::Body->new(data => ...);
my $body = Mail::Message::Body::Nested->new(nested => $intro);
Extends "Attributes" in Mail::Message::Body.
- $obj->charsetDetectAlgorithm( [CODE|undef|METHOD] )
- Inherited, see "Attributes" in Mail::Message::Body::Encode
Extends "Constructing a body" in
Mail::Message::Body.
- $obj->attach(@messages, %options)
- Inherited, see "Constructing a body" in
Mail::Message::Body::Construct
- $obj->charsetDetect(%options)
- Inherited, see "Constructing a body" in
Mail::Message::Body::Encode
- $obj->check()
- Inherited, see "Constructing a body" in
Mail::Message::Body::Encode
- $obj->concatenate(@components)
- Inherited, see "Constructing a body" in
Mail::Message::Body::Construct
- $obj->decoded(%options)
- Inherited, see "Constructing a body" in Mail::Message::Body
- $obj->encode(%options)
- Inherited, see "Constructing a body" in
Mail::Message::Body::Encode
- $obj->encoded(%options)
- Inherited, see "Constructing a body" in
Mail::Message::Body::Encode
- $obj->eol( ['CR'|'LF'|'CRLF'|'NATIVE'] )
- Inherited, see "Constructing a body" in
Mail::Message::Body::Encode
- $obj->foreachLine((CODE))
- It is NOT possible to call some code for each line of a nested because
that would damage the header of the encapsulated message Improves base,
see "Constructing a body" in Mail::Message::Body::Construct
- $obj->stripSignature(%options)
- Inherited, see "Constructing a body" in
Mail::Message::Body::Construct
- $obj->unify($body)
- Inherited, see "Constructing a body" in
Mail::Message::Body::Encode
Extends "The body" in Mail::Message::Body.
- $obj->isDelayed()
- Inherited, see "The body" in Mail::Message::Body
- $obj->isMultipart()
- Inherited, see "The body" in Mail::Message::Body
- $obj->isNested()
- Inherited, see "The body" in Mail::Message::Body
- $obj->message( [$message] )
- Inherited, see "The body" in Mail::Message::Body
- $obj->partNumberOf($part)
- Inherited, see "The body" in Mail::Message::Body
Extends "About the payload" in Mail::Message::Body.
- $obj->charset()
- Inherited, see "About the payload" in Mail::Message::Body
- $obj->checked( [BOOLEAN] )
- Inherited, see "About the payload" in Mail::Message::Body
- $obj->contentId( [STRING|$field] )
- Inherited, see "About the payload" in Mail::Message::Body
- $obj->description( [STRING|$field] )
- Inherited, see "About the payload" in Mail::Message::Body
- $obj->disposition( [STRING|$field] )
- Inherited, see "About the payload" in Mail::Message::Body
- $obj->dispositionFilename( [$directory] )
- Inherited, see "About the payload" in
Mail::Message::Body::Encode
- $obj->isBinary()
- Inherited, see "About the payload" in
Mail::Message::Body::Encode
- $obj->isText()
- Inherited, see "About the payload" in
Mail::Message::Body::Encode
- $obj->language( [@langs|\@langs|$langs|$field] )
- Inherited, see "About the payload" in Mail::Message::Body
- $obj->mimeType()
- Inherited, see "About the payload" in Mail::Message::Body
- $obj->nrLines()
- Inherited, see "About the payload" in Mail::Message::Body
- $obj->size()
- Inherited, see "About the payload" in Mail::Message::Body
- $obj->transferEncoding( [STRING|$field] )
- Inherited, see "About the payload" in Mail::Message::Body
- $obj->type( [STRING|$field] )
- Inherited, see "About the payload" in Mail::Message::Body
Extends "Access to the payload" in
Mail::Message::Body.
- $obj->endsOnNewline()
- Inherited, see "Access to the payload" in
Mail::Message::Body
- $obj->file()
- Inherited, see "Access to the payload" in
Mail::Message::Body
- $obj->forNested(CODE)
- Execute the "CODE" for the nested
message. This returns a new nested body object. Returns
"undef" when the
"CODE" returns
"undef".
- $obj->lines()
- Inherited, see "Access to the payload" in
Mail::Message::Body
- $obj->nested()
- Returns the Mail::Message::Part message which is enclosed within this
body.
- $obj->print( [$fh] )
- Inherited, see "Access to the payload" in
Mail::Message::Body
- $obj->printEscapedFrom($fh)
- Inherited, see "Access to the payload" in
Mail::Message::Body
- $obj->string()
- Inherited, see "Access to the payload" in
Mail::Message::Body
- $obj->stripTrailingNewline()
- Inherited, see "Access to the payload" in
Mail::Message::Body
- $obj->write(%options)
- Inherited, see "Access to the payload" in
Mail::Message::Body
Extends "Internals" in Mail::Message::Body.
- $any->addTransferEncHandler( $name, <$class|$object>
)
- Inherited, see "Internals" in Mail::Message::Body::Encode
- $obj->contentInfoFrom($head)
- Inherited, see "Internals" in Mail::Message::Body
- $obj->contentInfoTo($head)
- Inherited, see "Internals" in Mail::Message::Body
- $obj->fileLocation( [$begin, $end] )
- Inherited, see "Internals" in Mail::Message::Body
- $obj->getTransferEncHandler($type)
- Inherited, see "Internals" in Mail::Message::Body::Encode
- $obj->isModified()
- Inherited, see "Internals" in Mail::Message::Body
- $obj->load()
- Inherited, see "Internals" in Mail::Message::Body
- $obj->modified( [BOOLEAN] )
- Inherited, see "Internals" in Mail::Message::Body
- $obj->moveLocation( [$distance] )
- Inherited, see "Internals" in Mail::Message::Body
- $obj->read( $parser, $head, $bodytype, [$chars, [$lines]] )
- Inherited, see "Internals" in Mail::Message::Body
Extends "Error handling" in Mail::Message::Body.
- $obj->AUTOLOAD()
- Inherited, see "Error handling" in Mail::Message::Body
- $obj->notImplemented()
- Inherited, see "Error handling" in Mail::Reporter
- $obj->notImplemented()
- Inherited, see "Error handling" in Mail::Reporter
Extends "Cleanup" in Mail::Message::Body.
- $obj->DESTROY()
- Inherited, see "Cleanup" in Mail::Reporter
- $obj->DESTROY()
- Inherited, see "Cleanup" in Mail::Reporter
Extends "DETAILS" in Mail::Message::Body.
This module is part of Mail-Message version 4.03, built on January
26, 2026. Website: http://perl.overmeer.net/CPAN/
For contributors see file ChangeLog.
This software is copyright (c) 2001-2026 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.