Mail::Message::Body::Construct man page on Fedora

Man page or keyword search:  
man Server   31170 pages
apropos Keyword Search (all sections)
Output format
Fedora logo
[printable version]

Mail::Message::Body::CUserrContributed Perl DMail::Message::Body::Construct(3)

NAME
       Mail::Message::Body::Construct - adds functionality to
       Mail::Message::Body

DESCRIPTION
       This package adds complex functionality to the Mail::Message::Body
       class.  This functions less often used, so many programs will not
       compile this package.

METHODS
   Constructing a body
       $obj->attach(MESSAGES, OPTIONS)
	   Make a multipart containing this body and the specified MESSAGES.
	   The options are passed to the constructor of the multi-part body.
	   If you need more control, create the multi-part body yourself.  At
	   least take a look at Mail::Message::Body::Multipart.

	   The message-parts will be coerced into a Mail::Message::Part, so
	   you may attach Mail::Internet or MIME::Entity objects if you want
	   --see Mail::Message::coerce().  A new body with attached messages
	   is returned.

	   example:

	    my $pgpkey = Mail::Message::Body::File->new(file => 'a.pgp');
	    my $msg    = Mail::Message->buildFromBody(
	       $message->decoded->attach($pgpkey));

	    # The last message of the $multi multiparted body becomes a coerced $entity.
	    my $entity	= MIME::Entity->new;
	    my $multi	= $msg->body->attach($entity);

	    # Now create a new message
	    my $msg	= Mail::Message->new(head => ..., body => $multi);

       $obj->concatenate(COMPONENTS)
	   Concatenate a list of elements into one new body.

	   Specify a list of text COMPONENTS.  Each component can be a message
	   (Mail::Message, the body of the message is used), a plain body
	   (Mail::Message::Body), "undef" (which will be skipped), a scalar
	   (which is split into lines), or an array of scalars (each providing
	   one line).

	   example:

	    # all arguments are Mail::Message::Body's.
	    my $sum = $body->concatenate($preamble, $body, $epilogue, "-- \n" , $sig);

       $obj->foreachLine(CODE)
	   Create a new body by performing an action on each of its lines.  If
	   none of the lines change, the current body will be returned,
	   otherwise a new body is created of the same type as the current.

	   The CODE refers to a subroutine which is called, where $_ contains
	   body's original line.  DO NOT CHANGE $_!!!  The result of the
	   routine is taken as new line.  When the routine returns "undef",
	   the line will be skipped.

	   example:

	    my $content	 = $msg->decoded;
	    my $reply	 = $content->foreachLine( sub { '> '.$_ } );
	    my $rev	 = $content->foreachLine( sub {reverse} );

	    sub filled() { length $_ > 1 ? $_ : undef }
	    my $nonempty = $content->foreachLine( \&filled );

	    my $wrong	 = $content->foreachLine( sub {s/a/A/} );  # WRONG!!!
	    my $right	 = $content->foreachLine(
		   sub {(my $x=$_) =~ s/a/A/; $x} );

       $obj->stripSignature(OPTIONS)
	   Strip the signature from the body.  The body must already be
	   decoded otherwise the wrong lines may get stripped.	Returned is
	   the stripped version body, and in list context also the signature,
	   encapsulated in its own body object.	 The signature separator is
	   the first line of the returned signature body.

	   The signature is added by the sender to tell about him- or herself.
	   It is superfluous in some situations, for instance if you want to
	   create a reply to the person's message you do not need to include
	   that signature.

	   If the body had no signature, the original body object is returned,
	   and "undef" for the signature body.

	    -Option	--Default
	     max_lines	  10
	     pattern	  qr/^--\s?$/
	     result_type  <same as current>

	   max_lines => INTEGER|undef
	     The maximum number of lines which can be the length of a
	     signature.	 Specify "undef" to remove the limit.

	   pattern => REGEX|STRING|CODE
	     Which pattern defines the line which indicates the separator
	     between the message and the signature.  In case of a STRING, this
	     is matched to the beginning of the line, and REGEX is a full
	     regular expression.

	     In case of CODE, each line (from last to front) is passed to the
	     specified subroutine as first argument.  The subroutine must
	     return TRUE when the separator is found.

	   result_type => CLASS
	     The type of body to be created for the stripped body (and maybe
	     also to contain the stripped signature)

	   example:

	    my $start = $message->decoded;
	    my $start = $body->decoded;

	    my $stripped = $start->stripSignature;

	    my ($stripped, $sign) = $start->stripSignature
		(max_lines => 5, pattern => '-*-*-');

SEE ALSO
       This module is part of Mail-Box distribution version 2.097, built on
       January 26, 2011. Website: http://perl.overmeer.net/mailbox/

LICENSE
       Copyrights 2001-2011 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.  See
       http://www.perl.com/perl/misc/Artistic.html

perl v5.14.1			  2011-01-26 Mail::Message::Body::Construct(3)
[top]

List of man pages available for Fedora

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net