Provided by: libcourriel-perl_0.45-1_all
NAME
Courriel::Part::Single - A part which does not contain other parts, only content
VERSION
version 0.45
SYNOPSIS
my $headers = $part->headers; my $ct = $part->content_type; my $content = $part->content; print ${$content};
DESCRIPTION
This class represents a single part that does not contain other parts, just content.
API
This class provides the following methods: Courriel::Part::Single->new( ... ) This method creates a new part object. It accepts the following parameters: • content This can either be a string or a reference to a scalar. It should be a character string, not a byte string. If you pass a reference, then the scalar underlying the reference may be modified, so don't pass in something you don't want modified. • encoded_content This can either be a string or a reference to a scalar. If you pass a reference, then the scalar underlying the reference may be modified, so don't pass in something you don't want modified. • content_type A Courriel::Header::ContentType object. This will default to one with the mime type "text/plain". • disposition A Courriel::Header::Disposition object representing this part's content disposition. This will default to "inline" with no other attributes. • encoding The Content-Transfer-Encoding for this part. This defaults to the value found in the part's headers, or "8bit" if no header is found. • headers A Courriel::Headers object containing headers for this part. You must pass a "content" or "encoded_content" value when creating a new part, but there's really no point in passing both. It is strongly recommended that you pass a "content" parameter and letting this module do the encoding for you internally. $part->content() This returns returns the decoded content for the part. It will be in Perl's native utf-8 encoding, decoded from whatever character set the content is in. $part->encoded_content() This returns returns the encoded content for the part. $part->mime_type() Returns the mime type for this part. $part->has_charset() Return true if the part has a charset defined. Binary attachments will usually not have this defined. $part->charset() Returns the charset for this part. $part->is_inline(), $part->is_attachment() These methods return boolean values based on the part's content disposition. $part->filename() Returns the filename from the part's content disposition, if any. $part->content_type() Returns the Courriel::Header::ContentType object for this part. $part->disposition() Returns the Courriel::Header::Disposition object for this part. $part->encoding() Returns the encoding for the part. $part->headers() Returns the Courriel::Headers object for this part. $part->is_multipart() Returns false. $part->container() Returns the Courriel or Courriel::Part::Multipart object to which this part belongs, if any. This is set when the part is added to another object. $part->content_ref() This returns returns a reference to a scalar containing the decoded content for the part. $part->encoded_content_ref() This returns returns a reference to a scalar containing the encoded content for the part, without any decoding. $part->as_string() Returns the part as a string, along with its headers. Lines will be terminated with "\r\n". $part->stream_to( output => $output ) This method will send the stringified part to the specified output. The output can be a subroutine reference, a filehandle, or an object with a "print()" method. The output may be sent as a single string, as a list of strings, or via multiple calls to the output.
ROLES
This class does the "Courriel::Role::Part" and "Courriel::Role::Streams" roles.
SUPPORT
Bugs may be submitted at <http://rt.cpan.org/Public/Dist/Display.html?Name=Courriel> or via email to bug-courriel@rt.cpan.org <mailto:bug-courriel@rt.cpan.org>. I am also usually active on IRC as 'autarch' on "irc://irc.perl.org".
SOURCE
The source code repository for Courriel can be found at <https://github.com/houseabsolute/Courriel>.
AUTHOR
Dave Rolsky <autarch@urth.org>
COPYRIGHT AND LICENSE
This software is Copyright (c) 2017 by Dave Rolsky. This is free software, licensed under: The Artistic License 2.0 (GPL Compatible) The full text of the license can be found in the LICENSE file included with this distribution.