From 6c96867a6a102ebc47cb6128dc23623ff027d92f Mon Sep 17 00:00:00 2001 From: vanhorickanthony Date: Mon, 11 Mar 2024 13:45:32 +0100 Subject: [PATCH] fix(Workflows): Add unsubscribe header support to gmail and office sender. [https://github.com/Salesflare/Server/issues/10004] --- lib/unimail-gmail.js | 11 +++++++++++ lib/unimail-office365.js | 5 +++++ 2 files changed, 16 insertions(+) diff --git a/lib/unimail-gmail.js b/lib/unimail-gmail.js index aeedf27..0da2816 100644 --- a/lib/unimail-gmail.js +++ b/lib/unimail-gmail.js @@ -365,6 +365,7 @@ class GmailConnector extends EventEmitter { * @param {MessageRecipient[]} params.cc * @param {MessageRecipient[]} params.bcc * @param {{ name: String, url: String }[]} params.attachments + * @param {{ name: String, value: String }[]} params.headers - Optional headers to include * * @param {Object} options * @@ -418,6 +419,16 @@ class GmailConnector extends EventEmitter { } }; + if (params.headers) { + gmailSendParams.media.headers = [{ + name: 'List-Unsubscribe', + value: `<${params.unsubscribeUrl}>` + }, { + name: 'List-Unsubscribe-Post', + value: 'List-Unsubscribe=One-Click' + }] + } + if (params.threadId) { gmailSendParams.requestBody = { threadId: params.threadId }; } diff --git a/lib/unimail-office365.js b/lib/unimail-office365.js index 98e72e7..7238375 100644 --- a/lib/unimail-office365.js +++ b/lib/unimail-office365.js @@ -485,6 +485,7 @@ class Office365Connector extends EventEmitter { * @param {MessageRecipient[]} params.cc * @param {MessageRecipient[]} params.bcc * @param {{ name: String, url: String, contentBytes: any }[]} params.attachments + * @param {{ name: String, value: String }[]} params.headers - Optional headers to include * * @param {Object} options * @@ -565,6 +566,10 @@ class Office365Connector extends EventEmitter { } }; + if (params.headers) { + message.internetMessageHeaders = params.headers; + } + let version = 'v1.0'; const attachments = results.convertAttachments;