The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.

NAME

Mail::Message::Construct::Forward - forwarding a Mail::Message

SYNOPSIS

 my Mail::Message $forward = $message->forward(To => 'you');
 $forward->send;

DESCRIPTION

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

METHODS

Constructing a message

$obj->forward(OPTIONS)

    Forward the content of this message. The body of the message to be forwarded is encapsulated in some accompanying text (if you have no wish for that, than bounce is your choice).

    You may forward a whole message, but also message parts. 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.

     Option           Defined in       Default                                                                       
     Bcc                               undef                                                                         
     Cc                                undef                                                                         
     Date                              <now>                                                                         
     From                              <'to' in current>                                                             
     Message-ID                        <uniquely generated>                                                          
     Subject                           L<forwardSubject()|Mail::Message::Construct::Forward/"Constructing a message">
     To                                <required>                                                                    
     body                              undef                                                                         
     include                           C<'INLINE'>                                                                   
     max_signature                     C<10>                                                                         
     message_type                      L<Mail::Message|Mail::Message>                                                
     postlude                          undef                                                                         
     prelude                           undef                                                                         
     quote                             undef                                                                         
     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 none.

    . Date DATE

      The date to be used in the message sent.

    . 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, the forwardSubject() method is used.

    . To ADDRESSES

      The destination of your message. Obligatory. The ADDRESSES may be specified as string, a Mail::Address object, or as array of Mail::Address objects.

    . body OBJECT

      If you specify a fully prepared body OBJECT, it will be used as forwarded message contents. In this case, only the headers are constructed for you.

    . include 'INLINE'|'ATTACH'

      Must the message where this is a reply to be included in the message? With INLINE a forward 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 multi-part messages will always be enclosed as attachment.

    . max_signature INTEGER

    . 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

      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 forwarded message is INLINEd.

    . prelude BODY

      The line(s) which will be added before the quoted forwarded lines. If nothing is specified, the result of the forwardPrelude() method is used. When undef is specified, no prelude will be added.

    . quote CODE|STRING

      Mangle the lines of an INLINEd 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, nothing is added before each line. This option is processed after the body has been decoded.

    . signature BODY|MESSAGE

      The signature to be added in case of a multi-part forward. 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 multi-part 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.

$obj->forwardPostlude

    Added after the forwarded message.

    Example:

     ---- END forwarded message

$obj->forwardPrelude

    Create a few lines to be included before the forwarded message content. The return is an array of lines.

    Example:

     ---- BEGIN forwarded message
     From: him@somewhere.else.nl (Original Sender)
     To: me@example.com (Me the receiver)
     Cc: the.rest@world.net
     Date: Wed, 9 Feb 2000 15:44:05 -0500
     <blank line>

$obj->forwardSubject(STRING)

    Create a subject for a message which is a forward from 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                 --> Forw: subject
     Re: subject             --> Forw: Re: subject
     Re[X]: subject          --> Forw: Re[X]: subject
     <blank>                 --> Forwarded

DIAGNOSTICS

Error: Cannot include forward source as $include.

Unknown alternative for the forward(include). Valid choices are NO, INLINE, and ATTACH.

Error: No address to create forwarded to.

If a forward message is created, a destination address must be specified.

REFERENCES

See the MailBox website at http://perl.overmeer.net/mailbox/ for more details.

COPYRIGHTS

Distribution version 2.047. Written by Mark Overmeer (mark@overmeer.net). 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.