unixdev.net


Switch to SpeakEasy.net DSL

The Modular Manual Browser

Home Page
Manual: (Debian-5.0)
Page:
Section:
Apropos / Subsearch:
optional field

Mail::Message::ConstruUserRContributed PerMail::Message::Construct::Reply(3pm)



NAME
       Mail::Message::Construct::Reply - reply to a Mail::Message

SYNOPSIS
        my Mail::Message $reply = $message->reply;
        my $quoted  = $message->replyPrelude($head->get('From'));

DESCRIPTION
       Complex functionality on Mail::Message objects is implemented in
       different files which are autoloaded.  This file implements the
       functionality related to creating message replies.

METHODS
       Constructing a message

       $obj->reply(OPTIONS)

           Start a reply to this message.  Some of the header-lines of the
           original message will be taken.  A message-id will be assigned.
           Some header lines will be updated to facilitate message-thread
           detection (see Mail::Box::Thread::Manager).

           You may reply to a whole message or a message part.  You may wish
           to overrule some of the default header settings for the reply
           immediately, or you may do that later with "set" on the header.

           ADDRESSES may be specified as string, or a Mail::Address object, or
           as array of Mail::Address objects.

            Option         --Default
            Bcc              undef
            Cc               <'cc' in current>
            From             <'to' in current>
            Message-ID       <uniquely generated>
            Subject          replySubject()
            To               <sender in current>
            body             undef
            group_reply      <true>
            include          'INLINE'
            max_signature    10
            message_type     Mail::Message
            postlude         undef
            prelude          undef
            quote            '> '
            signature        undef
            strip_signature  qr/^--\s/

           . Bcc => ADDRESSES

               Receivers of blind carbon copies: their names will not be
               published to other message receivers.

           . Cc => ADDRESSES

               The carbon-copy receivers, by default a copy of the "Cc" field
               of the source message.

           . From => ADDRESSES

               Your identification, by default taken from the "To" field of
               the source message.

           . Message-ID => STRING

               Supply a STRING as specific message-id for the reply.  By
               default, one is generated for you.  If there are no angles
               around your id, they will be added.

           . Subject => STRING|CODE

               Force the subject line to the specific STRING, or the result of
               the subroutine specified by CODE.  The subroutine will be
               called passing the subject of the original message as only
               argument.  By default, Mail::Message::replySubject() is used.

           . To => ADDRESSES

               The destination of your message.  By default taken from the
               "Reply-To" field in the source message.  If that field is not
               present as well, the "From" line is scanned.  If they all fail,
               "undef" is returned by this method: no reply message produced.

           . body => BODY

               Usually, the reply method can create a nice, sufficient message
               from the source message's body.  In case you like more
               complicated reformatting, you may also create a body yourself
               first, and pass this on to this "reply" method. Some of the
               other options to this method will be ingored in this case.

           . group_reply => BOOLEAN

               Will the people listed in the "Cc" headers (those who received
               the message where you reply to now) also receive this message
               as carbon copy?

           . include => 'NO'|'INLINE'|'ATTACH'

               Must the message where this is a reply to be included in the
               message?  If "NO" then not.  With "INLINE" a reply body is
               composed. "ATTACH" will create a multi-part body, where the
               original message is added after the specified body.  It is only
               possible to inline textual messages, therefore binary or
               multipart messages will always be enclosed as attachment.

           . max_signature => INTEGER

               Passed to "stripSignature" on the body as parameter
               "max_lines".  Only effective for single-part messages.

           . message_type => CLASS

               Create a message with the requested type.  By default, it will
               be a Mail::Message.  This is correct, because it will be
               coerced into the correct folder message type when it is added
               to that folder.

           . postlude => BODY|LINES

               The line(s) which to be added after the quoted reply lines.
               Create a body for it first.  This should not include the
               signature, which has its own option.  The signature will be
               added after the postlude when the reply is INLINEd.

           . prelude => BODY|LINES

               The line(s) which will be added before the quoted reply lines.
               If nothing is specified, the result of the replyPrelude()
               method is taken.  When "undef" is specified, no prelude will be
               added.

           . quote => CODE|STRING

               Mangle the lines of an "INLINE"d reply with CODE, or by
               prepending a STRING to each line.  The routine specified by
               CODE is called when the line is in $_.

               By default, '> ' is added before each line.  Specify "undef" to
               disable quoting.  This option is processed after the body has
               been decoded.

           . signature => BODY|MESSAGE

               The signature to be added in case of a multi-part reply.  The
               mime-type of the signature body should indicate this is a used
               as such.  However, in INLINE mode, the body will be taken, a
               line containing '-- ' added before it, and added behind the
               epilogue.

           . strip_signature => REGEXP|STRING|CODE

               Remove the signature of the sender.  The value of this
               parameter is passed to
               Mail::Message::Body::stripSignature(pattern) unless the source
               text is not included.  The signature is stripped from the
               message before quoting.

               When a multipart body is encountered, and the message is
               included to ATTACH, the parts which look like signatures will
               be removed.  If only one message remains, it will be the added
               as single attachment, otherwise a nested multipart will be the
               result.  The value of this option does not matter, as long as
               it is present.  See Mail::Message::Body::Multipart.

           example:

             my $reply = $msg->reply
              ( prelude         => "No spam, please!\n\n"
              , postlude        => "\nGreetings\n"
              , strip_signature => 1
              , signature       => $my_pgp_key
              , group_reply     => 1
              );

       $obj->replyPrelude([STRING|FIELD|ADDRESS|ARRAY-OF-THINGS])

           Produces a list of lines (usually only one), which will preceded
           the quoted body of the message.  STRING must comply to the RFC822
           email address specification, and is usually the content of a "To"
           or "From" header line.  If a FIELD is specified, the field's body
           must be compliant.  Without argument -or when the argument is
           "undef"- a slightly different line is produced.

           An characteristic example of the output is

            On Thu Oct 13 04:54:34 1995, himATexample.com wrote:

       $obj->replySubject(STRING)

       Mail::Message->replySubject(STRING)

           Create a subject for a message which is a reply for this one.  This
           routine tries to count the level of reply in subject field, and
           transform it into a standard form.  Please contribute improvements.

           example:

            subject                 --> Re: subject
            Re: subject             --> Re[2]: subject
            Re[X]: subject          --> Re[X+1]: subject
            subject (Re)            --> Re[2]: subject
            subject (Forw)          --> Re[2]: subject
            <blank>                 --> Re: your mail

DIAGNOSTICS
       Error: Cannot include reply source as $include.

           Unknown alternative for the "include" option of reply().  Valid
           choices are "NO", "INLINE", and "ATTACH".

SEE ALSO
       This module is part of Mail-Box distribution version 2.082, built on
       April 28, 2008. Website: http://perl.overmeer.net/mailbox/

LICENSE
       Copyrights 2001-2008 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.10.0                      2008-04-Mail::Message::Construct::Reply(3pm)