From 571c78e62be4b2f69060592fcc7e3d5d17ce1cd5 Mon Sep 17 00:00:00 2001 From: doobry Date: Sun, 3 Aug 2025 22:05:53 +0200 Subject: [PATCH 1/2] fix(SchleuderResend): Fix parsing body of compose message --- scripts/SchleuderResend.mjs | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/scripts/SchleuderResend.mjs b/scripts/SchleuderResend.mjs index 8adf7ec..253960a 100644 --- a/scripts/SchleuderResend.mjs +++ b/scripts/SchleuderResend.mjs @@ -1,12 +1,10 @@ export async function SchleuderResend() { - let { relatedMessageId } = await this.compose.getComposeDetails(); - // Instead of parsing the raw message for headers, better use getFull to get the individual parsed headers. - let text = await this.messages.getRaw(relatedMessageId).then(t => t.replaceAll("\r\n", "\n")); + let { plainTextBody } = await this.compose.getComposeDetails() - let resentLines = text.match(/Resent: .*\n/g) - let fromLines = text.match(/From: .*\n/g) - let toLines = text.match(/To: .*\n/g) - let ccLines = text.match(/Cc: .*\n/g) + let resentLines = plainTextBody.match(/Resent: (.*)\n/) + let fromLines = plainTextBody.match(/From: .*\n/g) + let toLines = plainTextBody.match(/To: .*\n/g) + let ccLines = plainTextBody.match(/Cc: .*\n/g) let headerLines = [] @@ -35,4 +33,4 @@ export async function SchleuderResend() { function sanitizeMail(value) { return value.replace(//g, '').replace(/"/g, '') } -} \ No newline at end of file +} From a5beb86934649daacb4d1166d6a75c2cd1beefb4 Mon Sep 17 00:00:00 2001 From: doobry Date: Sun, 3 Aug 2025 22:07:53 +0200 Subject: [PATCH 2/2] fix(SchleuderResend): Always return a 'X-RESEND' pseudo header If no mail addresses were found in the compose body, still return an empty pseudo header. --- scripts/SchleuderResend.mjs | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/scripts/SchleuderResend.mjs b/scripts/SchleuderResend.mjs index 253960a..646a147 100644 --- a/scripts/SchleuderResend.mjs +++ b/scripts/SchleuderResend.mjs @@ -25,9 +25,14 @@ export async function SchleuderResend() { emails = emails.map(sanitizeMail) for (let email in emails) { - resentEmails.push("x-resend: ".concat(emails[email])) + resentEmails.push("X-RESEND: ".concat(emails[email])) } } + + if (headerLines.length == 0) { + resentEmails.push("X-RESEND: ") + } + return resentEmails.join("\n") function sanitizeMail(value) {