nodemailer html 消息从 fs reader 中剥离文本

nodemailer html message strips the text from fs reader

我正在阅读这样一个文本文件内容:

fs.readFile(__dirname +'/' +'/myfile.txt', 'utf8', function (err, data) {
        if (err) {
            throw err;
        }
        mycontent = data
        console.log("print here:",mycontent)
    })

然后我将它作为 html 消息传递给 nodemailer :

var mailMessage = '<p>' + mycontent + '</p>';

但是在发送电子邮件时,文本文件的内容在电子邮件中丢失了换行符。 我该如何保存它?

原文内容:

Sed ut perspiciatis unde 
omnis iste natus error sit 
voluptatem accusantium doloremque 
laudantium, totam rem aperiam, 
eaque ipsa quae ab illo 
inventore veritatis

当前结果如下:

Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium, totam rem aperiam, eaque ipsa quae ab illo inventore veritatis

目的是为了坚持原来的换行

不幸的是,HTML 将在没有注意到换行符的情况下被解析。例如,您可以识别 javascript 中的这些换行符,并用 <br/> 替换它们。

试试这个:

var mailMessage = '<p>' + mycontent.split("\n").join("<br/>") + '</p>';
fs.readFile(__dirname +'/' +'/myfile.txt', 'utf8', function (err, data) {
        if (err) {
            throw err;
        }
        mycontent = data.replace(/\r?\n/g, '<br />');
        console.log("print here:",mycontent)
    })

从文件中获取后,您可以简单地对其进行编辑。