man Mail::Message::Construct::Reply () - reply to a Mail::Message


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


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


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


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 CWset on the header. ADDRESSES may be specified as string, or a Mail::Address object, or as array of Mail::Address objects.

 Option           Defined in       Default                                                                   
 Bcc                               undef                                                                     
 Cc                                <'cc' in current>                                                         
 From                              <'to' in current>                                                         
 Message-ID                        <uniquely generated>                                                      
 Subject                           L<replySubject()|Mail::Message::Construct::Reply/"Constructing a message">
 To                                <sender in current>                                                       
 body                              undef                                                                     
 group_reply                       <true>                                                                    
 include                           C<'INLINE'>                                                               
 max_signature                     C<10>                                                                     
 message_type                      L<Mail::Message|Mail::Message>                                            
 postlude                          undef                                                                     
 prelude                           undef                                                                     
 quote                             'E<gt> '                                                                  
 signature                         undef                                                                     
 strip_signature                   C<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 CWCc field of the source message. . From ADDRESSES Your identification, by default taken from the CWTo 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 CWReply-To field in the source message. If that field is not present as well, the CWFrom line is scanned. If they all fail, CWundef 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 CWreply method. Some of the other options to this method will be ingored in this case. . group_reply BOOLEAN Will the people listed in the CWCc 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 CWNO then not. With CWINLINE a reply body is composed. CWATTACH 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 CWstripSignature on the body as parameter CWmax_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 CWundef is specified, no prelude will be added. . quote CODE|STRING Mangle the lines of an CWINLINEd reply with CODE, or by prepending a STRING to each line. The routine specified by CODE is called when the line is in CW$_. By default, CW'> ' is added before each line. Specify CWundef 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 CW'-- ' 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 CWTo or CWFrom header line. If a FIELD is specified, the field's body must be compliant. Without argument -or when the argument is CWundef- a slightly different line is produced. An characteristic example of the output is

 On Thu Oct 13 04:54:34 1995, wrote:


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


Error: Cannot include reply source as CW$include.

Unknown alternative for the CWinclude option of reply(). Valid choices are CWNO, CWINLINE, and CWATTACH.


See the MailBox website at <> for more details.


Distribution version 2.063. Written by Mark Overmeer ( See the ChangeLog for other contributors.

Copyright (c) 2001-2003 by the author(s). All rights reserved. This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.