Add ability to set In-Reply-To tag (#81)

* Add ability to set In-Reply-To tag

This is useful to reply to a specific email, e.g. to a patch sent by
email on a mailing list.

Please note that both the In-Reply-To and the References tags are
filled-in. In theory, only the In-Reply-To tag should be enough but they
are both linked to the same idea and in theory most emails readers
should support a Message-ID given in In-Reply-To tag. So just in case,
we fill both to imitate many email clients.

Signed-off-by: Matthieu Baerts <matthieu.baerts@tessares.net>

* Update test.yml

Co-authored-by: Dawid Dziurla <dawidd0811@gmail.com>
This commit is contained in:
Matthieu Baerts 2021-10-17 09:45:58 +02:00 committed by GitHub
parent fd76768b61
commit ba46013833
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 8 additions and 0 deletions

View File

@ -42,6 +42,8 @@ Some features:
bcc: r2d2@example.com,hansolo@example.com bcc: r2d2@example.com,hansolo@example.com
# Optional recipient of the email response: # Optional recipient of the email response:
reply_to: luke@example.com reply_to: luke@example.com
# Optional Message ID this message is replying to:
in_reply_to: <random-luke@example.com>
# Optional unsigned/invalid certificates allowance: # Optional unsigned/invalid certificates allowance:
ignore_cert: true ignore_cert: true
# Optional converting Markdown to HTML (set content_type to text/html too): # Optional converting Markdown to HTML (set content_type to text/html too):

View File

@ -44,6 +44,9 @@ inputs:
reply_to: reply_to:
description: An email address that will appear on the Reply-To field description: An email address that will appear on the Reply-To field
required: false required: false
in_reply_to:
description: The Message-ID this message is replying to
required: false
ignore_cert: ignore_cert:
description: Allow unsigned/invalid certificates description: Allow unsigned/invalid certificates
required: false required: false

View File

@ -51,6 +51,7 @@ async function main() {
const cc = core.getInput("cc", { required: false }) const cc = core.getInput("cc", { required: false })
const bcc = core.getInput("bcc", { required: false }) const bcc = core.getInput("bcc", { required: false })
const replyTo = core.getInput("reply_to", { required: false }) const replyTo = core.getInput("reply_to", { required: false })
const inReplyTo = core.getInput("in_reply_to", { required: false })
const attachments = core.getInput("attachments", { required: false }) const attachments = core.getInput("attachments", { required: false })
const convertMarkdown = core.getInput("convert_markdown", { required: false }) const convertMarkdown = core.getInput("convert_markdown", { required: false })
const ignoreCert = core.getInput("ignore_cert", { required: false }) const ignoreCert = core.getInput("ignore_cert", { required: false })
@ -80,6 +81,8 @@ async function main() {
cc: cc ? cc : undefined, cc: cc ? cc : undefined,
bcc: bcc ? bcc : undefined, bcc: bcc ? bcc : undefined,
replyTo: replyTo ? replyTo : undefined, replyTo: replyTo ? replyTo : undefined,
inReplyTo: inReplyTo ? inReplyTo : undefined,
references: inReplyTo ? inReplyTo : undefined,
text: body ? getBody(body, false) : undefined, text: body ? getBody(body, false) : undefined,
html: htmlBody ? getBody(htmlBody, convertMarkdown) : undefined, html: htmlBody ? getBody(htmlBody, convertMarkdown) : undefined,
priority: priority ? priority : undefined, priority: priority ? priority : undefined,