From 1429f92bbabba963c509f2c86549efe2d0463082 Mon Sep 17 00:00:00 2001 From: titanism <101466223+titanism@users.noreply.github.com> Date: Wed, 30 Aug 2023 12:42:28 -0500 Subject: [PATCH] fix: strip html from error bounce messages --- helpers/create-bounce.js | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/helpers/create-bounce.js b/helpers/create-bounce.js index 893fe5d993..fade04dfa3 100644 --- a/helpers/create-bounce.js +++ b/helpers/create-bounce.js @@ -5,6 +5,7 @@ const MimeNode = require('nodemailer/lib/mime-node'); const _ = require('lodash'); const ip = require('ip'); const isFQDN = require('is-fqdn'); +const { convert } = require('html-to-text'); const getErrorCode = require('#helpers/get-error-code'); const getDiagnosticCode = require('#helpers/get-diagnostic-code'); @@ -50,6 +51,18 @@ function createBounce(email, error, message) { rootNode.setHeader('References', email.messageId); rootNode.setHeader('X-Original-Message-ID', email.messageId); + const response = convert(error.response || error.message, { + wordwrap: false, + selectors: [ + { selector: 'img', format: 'skip' }, + { selector: 'ul', options: { itemPrefix: ' ' } }, + { + selector: 'a', + options: { baseUrl: config.urls.web, linkBrackets: false } + } + ] + }); + rootNode .createChild('text/plain; charset=utf-8') .setHeader('Content-Description', 'Notification') @@ -63,7 +76,7 @@ function createBounce(email, error, message) { '', 'The response was:', '', - error.response || error.message + response ].join('\n') );