{
    "content": [
        {
            "type": "text",
            "text": "# Mail::Message::Construct::Reply (perldoc)\n\n## NAME\n\nMail::Message::Construct::Reply - reply to a Mail::Message\n\n## SYNOPSIS\n\nmy Mail::Message $reply = $message->reply;\nmy $quoted  = $message->replyPrelude($head->get('From'));\n\n## DESCRIPTION\n\nComplex functionality on Mail::Message objects is implemented in different files which are\nautoloaded. This file implements the functionality related to creating message replies.\n\n## Sections\n\n- **NAME**\n- **SYNOPSIS**\n- **DESCRIPTION**\n- **METHODS** (1 subsections)\n- **DIAGNOSTICS**\n- **SEE ALSO**\n- **LICENSE**\n\nUse structuredContent.sections for detailed options, examples, and full documentation.\n"
        }
    ],
    "structuredContent": {
        "command": "Mail::Message::Construct::Reply",
        "section": "",
        "mode": "perldoc",
        "summary": "Mail::Message::Construct::Reply - reply to a Mail::Message",
        "synopsis": "my Mail::Message $reply = $message->reply;\nmy $quoted  = $message->replyPrelude($head->get('From'));",
        "tldr_summary": null,
        "tldr_examples": [],
        "tldr_source": null,
        "flags": [],
        "examples": [],
        "see_also": [],
        "section_outline": [
            {
                "name": "NAME",
                "lines": 2,
                "subsections": []
            },
            {
                "name": "SYNOPSIS",
                "lines": 3,
                "subsections": []
            },
            {
                "name": "DESCRIPTION",
                "lines": 3,
                "subsections": []
            },
            {
                "name": "METHODS",
                "lines": 1,
                "subsections": [
                    {
                        "name": "Constructing a message",
                        "lines": 151
                    }
                ]
            },
            {
                "name": "DIAGNOSTICS",
                "lines": 4,
                "subsections": []
            },
            {
                "name": "SEE ALSO",
                "lines": 3,
                "subsections": []
            },
            {
                "name": "LICENSE",
                "lines": 5,
                "subsections": []
            }
        ],
        "sections": {
            "NAME": {
                "content": "Mail::Message::Construct::Reply - reply to a Mail::Message\n",
                "subsections": []
            },
            "SYNOPSIS": {
                "content": "my Mail::Message $reply = $message->reply;\nmy $quoted  = $message->replyPrelude($head->get('From'));\n",
                "subsections": []
            },
            "DESCRIPTION": {
                "content": "Complex functionality on Mail::Message objects is implemented in different files which are\nautoloaded. This file implements the functionality related to creating message replies.\n",
                "subsections": []
            },
            "METHODS": {
                "content": "",
                "subsections": [
                    {
                        "name": "Constructing a message",
                        "content": "$obj->reply(%options)\nStart a reply to this message. Some of the header-lines of the original message will be\ntaken. A message-id will be assigned. Some header lines will be updated to facilitate\nmessage-thread detection (see Mail::Box::Thread::Manager).\n\nYou may reply to a whole message or a message part. You may wish to overrule some of the\ndefault header settings for the reply immediately, or you may do that later with \"set\" on\nthe header.\n\nADDRESSES may be specified as string, or a Mail::Address object, or as array of\nMail::Address objects.\n\nAll %options which are not listed below AND start with a capital, will be added as\nadditional headers to the reply message.\n\n-Option         --Default\nBcc              undef\nCc               <'cc' in current>\nFrom             <'to' in current>\nMessage-ID       <uniquely generated>\nSubject          replySubject()\nTo               <sender in current>\nbody             undef\ngroupreply      <true>\ninclude          'INLINE'\nmaxsignature    10\nmessagetype     Mail::Message\npostlude         undef\nprelude          undef\nquote            '> '\nsignature        undef\nstripsignature  qr/^--\\s/\n\nBcc => ADDRESSES\nReceivers of blind carbon copies: their names will not be published to other message\nreceivers.\n\nCc => ADDRESSES\nThe carbon-copy receivers, by default a copy of the \"Cc\" field of the source message.\n\nFrom => ADDRESSES\nYour identification, by default taken from the \"To\" field of the source message.\n\nMessage-ID => STRING\nSupply a STRING as specific message-id for the reply. By default, one is generated for\nyou. If there are no angles around your id, they will be added.\n\nSubject => STRING|CODE\nForce the subject line to the specific STRING, or the result of the subroutine specified\nby CODE. The subroutine will be called passing the subject of the original message as only\nargument. By default, Mail::Message::replySubject() is used.\n\nTo => ADDRESSES\nThe destination of your message. By default taken from the \"Reply-To\" field in the source\nmessage. If that field is not present as well, the \"From\" line is scanned. If they all\nfail, \"undef\" is returned by this method: no reply message produced.\n\nbody => BODY\nUsually, the reply method can create a nice, sufficient message from the source message's\nbody. In case you like more complicated reformatting, you may also create a body yourself\nfirst, and pass this on to this \"reply\" method. Some of the other options to this method\nwill be ignored in this case.\n\ngroupreply => BOOLEAN\nWill the people listed in the \"Cc\" headers (those who received the message where you reply\nto now) also receive this message as carbon copy?\n\ninclude => 'NO'|'INLINE'|'ATTACH'\nMust the message where this is a reply to be included in the message? If \"NO\" then not.\nWith \"INLINE\" a reply body is composed. \"ATTACH\" will create a multi-part body, where the\noriginal message is added after the specified body. It is only possible to inline textual\nmessages, therefore binary or multipart messages will always be enclosed as attachment.\n\nmaxsignature => INTEGER\nPassed to \"stripSignature\" on the body as parameter \"maxlines\". Only effective for\nsingle-part messages.\n\nmessagetype => CLASS\nCreate a message with the requested type. By default, it will be a Mail::Message. This is\ncorrect, because it will be coerced into the correct folder message type when it is added\nto that folder.\n\npostlude => BODY|LINES\nThe line(s) which to be added after the quoted reply lines. Create a body for it first.\nThis should not include the signature, which has its own option. The signature will be\nadded after the postlude when the reply is INLINEd.\n\nprelude => BODY|LINES\nThe line(s) which will be added before the quoted reply lines. If nothing is specified,\nthe result of the replyPrelude() method is taken. When \"undef\" is specified, no prelude\nwill be added.\n\nquote => CODE|STRING\nMangle the lines of an \"INLINE\"d reply with CODE, or by prepending a STRING to each line.\nThe routine specified by CODE is called when the line is in $.\n\nBy default, '> ' is added before each line. Specify \"undef\" to disable quoting. This\noption is processed after the body has been decoded.\n\nsignature => BODY|MESSAGE\nThe signature to be added in case of a multi-part reply. The mime-type of the signature\nbody should indicate this is a used as such. However, in INLINE mode, the body will be\ntaken, a line containing '-- ' added before it, and added behind the epilogue.\n\nstripsignature => REGEXP|STRING|CODE\nRemove the signature of the sender. The value of this parameter is passed to\nMail::Message::Body::stripSignature(pattern) unless the source text is not included. The\nsignature is stripped from the message before quoting.\n\nWhen a multipart body is encountered, and the message is included to ATTACH, the parts\nwhich look like signatures will be removed. If only one message remains, it will be the\nadded as single attachment, otherwise a nested multipart will be the result. The value of\nthis option does not matter, as long as it is present. See Mail::Message::Body::Multipart.\n\nexample:\n\nmy $reply = $msg->reply\n( prelude         => \"No spam, please!\\n\\n\"\n, postlude        => \"\\nGreetings\\n\"\n, stripsignature => 1\n, signature       => $mypgpkey\n, groupreply     => 1\n, 'X-Extra'       => 'additional header'\n);\n\n$obj->replyPrelude( [STRING|$field|$address|ARRAY-$of-$things] )\nProduces a list of lines (usually only one), which will preceded the quoted body of the\nmessage. STRING must comply to the RFC822 email address specification, and is usually the\ncontent of a \"To\" or \"From\" header line. If a $field is specified, the field's body must be\ncompliant. Without argument -or when the argument is \"undef\"- a slightly different line is\nproduced.\n\nAn characteristic example of the output is\n\nOn Thu Oct 13 04:54:34 1995, him@example.com wrote:\n\n$obj->replySubject(STRING)\nMail::Message->replySubject(STRING)\nCreate a subject for a message which is a reply for this one. This routine tries to count\nthe level of reply in subject field, and transform it into a standard form. Please\ncontribute improvements.\n\nexample:\n\nsubject                 --> Re: subject\nRe: subject             --> Re[2]: subject\nRe[X]: subject          --> Re[X+1]: subject\nsubject (Re)            --> Re[2]: subject\nsubject (Forw)          --> Re[2]: subject\n<blank>                 --> Re: your mail\n"
                    }
                ]
            },
            "DIAGNOSTICS": {
                "content": "Error: Cannot include reply source as $include.\nUnknown alternative for the \"include\" option of reply(). Valid choices are \"NO\", \"INLINE\",\nand \"ATTACH\".\n",
                "subsections": []
            },
            "SEE ALSO": {
                "content": "This module is part of Mail-Message distribution version 3.012, built on February 11, 2022.\nWebsite: http://perl.overmeer.net/CPAN/\n",
                "subsections": []
            },
            "LICENSE": {
                "content": "Copyrights 2001-2022 by [Mark Overmeer <markov@cpan.org>]. For other contributors see ChangeLog.\n\nThis program is free software; you can redistribute it and/or modify it under the same terms as\nPerl itself. See http://dev.perl.org/licenses/\n",
                "subsections": []
            }
        }
    }
}