如何避免Outlook自动删除换行符?

时间:2019-06-27 12:21:13

标签: node.js outlook nodemailer

我正在使用nodemailer作为我的微服务的一部分发送电子邮件,我收到客户的投诉,内容涉及Outlook如何自动删除文本正文中的换行符。 我无法通过重新配置Outlook解决此问题,因为这必须在无数客户上完成。

我调查了在mailOptions对象中使用“ html”键而不是“ text”键的问题,

简短示例:

    const decodedInnerBody = iconv.decode(Buffer.from(innerBody, 'base64'),'iso-8859-8') 


    const request = {

        mailOptions: {

            from: from,

            to: to,

            bcc: bcc,

            cc: cc,

            subject: subject,

            text: decodedInnerBody,

            attachedZipName: attachedZipName

        },

        documents: []

    }

然后:

            this.transporter.sendMail(mailOptions).then(res => {
                logger.info(`E-mail successfuly sent from ${mailOptions.from} to ${mailOptions.to}. - ${transactionId}`, {});
                return resolve(res);
            }).catch(err => {
                logger.error(`E-mail failed to send from ${mailOptions.from} to ${mailOptions.to}. - ${transactionId}`, {});
                return reject(err);
            })

我的电子邮件正文从xml文件中刮出,然后从base64转换为我所需的编码(iso-8859-8),似乎可以正确保留所有换行符,但有时Outlook会随意删除这些换行符。 我想配置nodemailer,以便它始终保留所有换行符。 能做到吗? 另外,如果有人确定在不更改Outlook配置的情况下无法完成此操作,请也告诉我。 谢谢。

1 个答案:

答案 0 :(得分:0)

尝试创建同时包含纯文本和HTML MIME部分的消息。