From 30d645f061d1dc13f36f3b17753d493bbca9a641 Mon Sep 17 00:00:00 2001 From: titanism <101466223+titanism@users.noreply.github.com> Date: Wed, 21 Aug 2024 16:52:04 -0500 Subject: [PATCH] fix: fixed header line parsing --- app/models/emails.js | 6 ++++-- helpers/get-headers.js | 7 ++++--- 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/app/models/emails.js b/app/models/emails.js index 62e43e5c0..0ec5aff36 100644 --- a/app/models/emails.js +++ b/app/models/emails.js @@ -25,7 +25,6 @@ const noReplyList = require('reserved-email-addresses-list/no-reply-list.json'); const nodemailer = require('nodemailer'); const pEvent = require('p-event'); const parseErr = require('parse-err'); -const splitLines = require('split-lines'); const { Headers, Splitter, Joiner } = require('mailsplit'); const { Iconv } = require('iconv'); const { boolean } = require('boolean'); @@ -896,7 +895,10 @@ Emails.statics.queue = async function ( // let from; - const lines = splitLines(headers.headers.toString('binary').trim()); + const lines = headers.headers + .toString('binary') + .replace(/[\r\n]+$/, '') + .split(/\r?\n/); for (const line of lines) { const value = Buffer.from(line, 'binary').toString(); diff --git a/helpers/get-headers.js b/helpers/get-headers.js index f132eb795..eb1f90bb4 100644 --- a/helpers/get-headers.js +++ b/helpers/get-headers.js @@ -5,11 +5,12 @@ const { Buffer } = require('node:buffer'); -const splitLines = require('split-lines'); - function getHeaders(headers) { const _headers = {}; - const lines = splitLines(headers.headers.toString('binary').trim()); + const lines = headers.headers + .toString('binary') + .replace(/[\r\n]+$/, '') + .split(/\r?\n/); // // NOTE: we decode header values because