=encoding utf8
=head1 NAME
Mail::Message::Body::File - body of a message temporarily stored in a file
=head1 INHERITANCE
Mail::Message::Body::File
is a Mail::Message::Body
is a Mail::Reporter
=head1 SYNOPSIS
See Mail::Message::Body
=head1 DESCRIPTION
The body (content) of a message can be stored in various ways. In this
documentation you find the description of extra functionality you have
when a message is stored in a file.
Storing a whole message is a file is useful when the body is large. Although
access through a file is slower, it is saving a lot of memory.
See L<documentation in base class|Mail::Message::Body/"DESCRIPTION">.
=head1 OVERLOADED
See L<documentation in base class|Mail::Message::Body/"OVERLOADED">.
=over 4
=item overload: B<"">()
See L<Mail::Message::Body/"OVERLOADED">
=item overload: B<'==' and '!='>()
See L<Mail::Message::Body/"OVERLOADED">
=item overload: B<@{}>()
See L<Mail::Message::Body/"OVERLOADED">
=item overload: B<bool>()
See L<Mail::Message::Body/"OVERLOADED">
=back
=head1 METHODS
See L<documentation in base class|Mail::Message::Body/"METHODS">.
=head2 Constructors
See L<documentation in base class|Mail::Message::Body/"Constructors">.
=over 4
=item $obj-E<gt>B<clone>()
See L<Mail::Message::Body/"Constructors">
=item Mail::Message::Body::File-E<gt>B<new>(OPTIONS)
-Option --Defined in --Default
based_on Mail::Message::Body undef
charset Mail::Message::Body 'PERL' or <undef>
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
log Mail::Reporter 'WARNINGS'
message Mail::Message::Body undef
mime_type Mail::Message::Body 'text/plain'
modified Mail::Message::Body <false>
trace Mail::Reporter 'WARNINGS'
transfer_encoding Mail::Message::Body 'none'
=over 2
=item based_on => BODY
=item charset => CHARSET|'PERL'
=item checked => BOOLEAN
=item content_id => STRING
=item data => ARRAY-OF-LINES | STRING
=item description => STRING|FIELD
=item disposition => STRING|FIELD
=item eol => 'CR'|'LF'|'CRLF'|'NATIVE'
=item file => FILENAME|FILEHANDLE|IOHANDLE
=item log => LEVEL
=item message => MESSAGE
=item mime_type => STRING|FIELD|MIME
=item modified => BOOLEAN
=item trace => LEVEL
=item transfer_encoding => STRING|FIELD
=back
=back
=head2 Constructing a body
See L<documentation in base class|Mail::Message::Body/"Constructing a body">.
=over 4
=item $obj-E<gt>B<attach>(MESSAGES, OPTIONS)
See L<Mail::Message::Body::Construct/"Constructing a body">
=item $obj-E<gt>B<check>()
See L<Mail::Message::Body::Encode/"Constructing a body">
=item $obj-E<gt>B<concatenate>(COMPONENTS)
See L<Mail::Message::Body::Construct/"Constructing a body">
=item $obj-E<gt>B<decoded>(OPTIONS)
See L<Mail::Message::Body/"Constructing a body">
=item $obj-E<gt>B<encode>(OPTIONS)
See L<Mail::Message::Body::Encode/"Constructing a body">
=item $obj-E<gt>B<encoded>()
See L<Mail::Message::Body::Encode/"Constructing a body">
=item $obj-E<gt>B<eol>(['CR'|'LF'|'CRLF'|'NATIVE'])
See L<Mail::Message::Body/"Constructing a body">
=item $obj-E<gt>B<foreachLine>(CODE)
See L<Mail::Message::Body::Construct/"Constructing a body">
=item $obj-E<gt>B<stripSignature>(OPTIONS)
See L<Mail::Message::Body::Construct/"Constructing a body">
=item $obj-E<gt>B<unify>(BODY)
See L<Mail::Message::Body::Encode/"Constructing a body">
=back
=head2 The body
See L<documentation in base class|Mail::Message::Body/"The body">.
=over 4
=item $obj-E<gt>B<isDelayed>()
See L<Mail::Message::Body/"The body">
=item $obj-E<gt>B<isMultipart>()
See L<Mail::Message::Body/"The body">
=item $obj-E<gt>B<isNested>()
See L<Mail::Message::Body/"The body">
=item $obj-E<gt>B<message>([MESSAGE])
See L<Mail::Message::Body/"The body">
=item $obj-E<gt>B<partNumberOf>(PART)
See L<Mail::Message::Body/"The body">
=back
=head2 About the payload
See L<documentation in base class|Mail::Message::Body/"About the payload">.
=over 4
=item $obj-E<gt>B<charset>()
See L<Mail::Message::Body/"About the payload">
=item $obj-E<gt>B<checked>([BOOLEAN])
See L<Mail::Message::Body/"About the payload">
=item $obj-E<gt>B<contentId>([STRING|FIELD])
See L<Mail::Message::Body/"About the payload">
=item $obj-E<gt>B<description>([STRING|FIELD])
See L<Mail::Message::Body/"About the payload">
=item $obj-E<gt>B<disposition>([STRING|FIELD])
See L<Mail::Message::Body/"About the payload">
=item $obj-E<gt>B<dispositionFilename>([DIRECTORY])
See L<Mail::Message::Body::Encode/"About the payload">
=item $obj-E<gt>B<isBinary>()
See L<Mail::Message::Body::Encode/"About the payload">
=item $obj-E<gt>B<isText>()
See L<Mail::Message::Body::Encode/"About the payload">
=item $obj-E<gt>B<mimeType>()
See L<Mail::Message::Body/"About the payload">
=item $obj-E<gt>B<nrLines>()
See L<Mail::Message::Body/"About the payload">
=item $obj-E<gt>B<size>()
See L<Mail::Message::Body/"About the payload">
=item $obj-E<gt>B<transferEncoding>([STRING|FIELD])
See L<Mail::Message::Body/"About the payload">
=item $obj-E<gt>B<type>([STRING|FIELD])
See L<Mail::Message::Body/"About the payload">
=back
=head2 Access to the payload
See L<documentation in base class|Mail::Message::Body/"Access to the payload">.
=over 4
=item $obj-E<gt>B<endsOnNewline>()
See L<Mail::Message::Body/"Access to the payload">
=item $obj-E<gt>B<file>()
See L<Mail::Message::Body/"Access to the payload">
=item $obj-E<gt>B<lines>()
See L<Mail::Message::Body/"Access to the payload">
=item $obj-E<gt>B<print>([FILEHANDLE])
See L<Mail::Message::Body/"Access to the payload">
=item $obj-E<gt>B<printEscapedFrom>(FILEHANDLE)
See L<Mail::Message::Body/"Access to the payload">
=item $obj-E<gt>B<string>()
See L<Mail::Message::Body/"Access to the payload">
=item $obj-E<gt>B<stripTrailingNewline>()
See L<Mail::Message::Body/"Access to the payload">
=item $obj-E<gt>B<write>(OPTIONS)
See L<Mail::Message::Body/"Access to the payload">
=back
=head2 Internals
See L<documentation in base class|Mail::Message::Body/"Internals">.
=over 4
=item $obj-E<gt>B<addTransferEncHandler>(NAME, CLASS|OBJECT)
=item Mail::Message::Body::File-E<gt>B<addTransferEncHandler>(NAME, CLASS|OBJECT)
See L<Mail::Message::Body::Encode/"Internals">
=item $obj-E<gt>B<contentInfoFrom>(HEAD)
See L<Mail::Message::Body/"Internals">
=item $obj-E<gt>B<contentInfoTo>(HEAD)
See L<Mail::Message::Body/"Internals">
=item $obj-E<gt>B<fileLocation>([BEGIN,END])
See L<Mail::Message::Body/"Internals">
=item $obj-E<gt>B<getTransferEncHandler>(TYPE)
See L<Mail::Message::Body::Encode/"Internals">
=item $obj-E<gt>B<isModified>()
See L<Mail::Message::Body/"Internals">
=item $obj-E<gt>B<load>()
See L<Mail::Message::Body/"Internals">
=item $obj-E<gt>B<modified>([BOOLEAN])
See L<Mail::Message::Body/"Internals">
=item $obj-E<gt>B<moveLocation>([DISTANCE])
See L<Mail::Message::Body/"Internals">
=item $obj-E<gt>B<read>(PARSER, HEAD, BODYTYPE [,CHARS [,LINES]])
See L<Mail::Message::Body/"Internals">
=item $obj-E<gt>B<tempFilename>([FILENAME])
Returns the name of the temporary file which is used to store this body.
=back
=head2 Error handling
See L<documentation in base class|Mail::Message::Body/"Error handling">.
=over 4
=item $obj-E<gt>B<AUTOLOAD>()
See L<Mail::Message::Body/"Error handling">
=item $obj-E<gt>B<addReport>(OBJECT)
See L<Mail::Reporter/"Error handling">
=item $obj-E<gt>B<defaultTrace>([LEVEL]|[LOGLEVEL, TRACELEVEL]|[LEVEL, CALLBACK])
=item Mail::Message::Body::File-E<gt>B<defaultTrace>([LEVEL]|[LOGLEVEL, TRACELEVEL]|[LEVEL, CALLBACK])
See L<Mail::Reporter/"Error handling">
=item $obj-E<gt>B<errors>()
See L<Mail::Reporter/"Error handling">
=item $obj-E<gt>B<log>([LEVEL [,STRINGS]])
=item Mail::Message::Body::File-E<gt>B<log>([LEVEL [,STRINGS]])
See L<Mail::Reporter/"Error handling">
=item $obj-E<gt>B<logPriority>(LEVEL)
=item Mail::Message::Body::File-E<gt>B<logPriority>(LEVEL)
See L<Mail::Reporter/"Error handling">
=item $obj-E<gt>B<logSettings>()
See L<Mail::Reporter/"Error handling">
=item $obj-E<gt>B<notImplemented>()
See L<Mail::Reporter/"Error handling">
=item $obj-E<gt>B<report>([LEVEL])
See L<Mail::Reporter/"Error handling">
=item $obj-E<gt>B<reportAll>([LEVEL])
See L<Mail::Reporter/"Error handling">
=item $obj-E<gt>B<trace>([LEVEL])
See L<Mail::Reporter/"Error handling">
=item $obj-E<gt>B<warnings>()
See L<Mail::Reporter/"Error handling">
=back
=head2 Cleanup
See L<documentation in base class|Mail::Message::Body/"Cleanup">.
=over 4
=item $obj-E<gt>B<DESTROY>()
The temporary file is automatically removed when the body is
not required anymore.
=back
=head1 DETAILS
See L<documentation in base class|Mail::Message::Body/"DETAILS">.
=head1 DIAGNOSTICS
=over 4
=item Error: Cannot write to temporary body file $filename: $!
The message body is to be stored in a temporary file (probably because it is a
large body), but for the indicated reason, this file cannot be created.
=item Warning: Charset $name is not known
The encoding or decoding of a message body encounters a character set which
is not understood by Perl's Encode module.
=item Warning: No decoder defined for transfer encoding $name.
The data (message body) is encoded in a way which is not currently understood,
therefore no decoding (or recoding) can take place.
=item Warning: No encoder defined for transfer encoding $name.
The data (message body) has been decoded, but the required encoding is
unknown. The decoded data is returned.
=item Error: Package $package does not implement $method.
Fatal error: the specific package (or one of its superclasses) does not
implement this method where it should. This message means that some other
related classes do implement this method however the class at hand does
not. Probably you should investigate this and probably inform the author
of the package.
=item Error: Unable to read file $filename for message body file: $!
A L<Mail::Message::Body::File|Mail::Message::Body::File> object is to be created from a named file, but
it is impossible to read that file to retrieve the lines within. Therefore,
no copy to a temporary file can be made.
=item Warning: Unknown line terminator $eol ignored
=back
=head1 SEE ALSO
This module is part of Mail-Box distribution version 2.108,
built on June 25, 2013. Website: F<http://perl.overmeer.net/mailbox/>
=head1 LICENSE
Copyrights 2001-2013 by [Mark Overmeer]. For other contributors see ChangeLog.
This program is free software; you can redistribute it and/or modify it
under the same terms as Perl itself.