Node Js

时间:2017-07-18 10:02:20

标签: html nodemailer text-to-html

我正在使用nodemailer从节点服务器发送邮件。我从MSSQL SQL服务器获取此邮件的内容,该服务器以纯文本格式格式化,这意味着其中有新行字符,但是当我使用nodemailer发送时,新行字符丢失,整个文本看起来搞砸了。另一种方法是在纯文本中插入用于换行的html标签,并发送此工作正常。但是有太多的手工工作涉及我正在寻找的库或实用程序,它可以将纯文本转换为我可以使用邮件发送的html。

此要求是否有任何自由或自动执行此操作的方式?

3 个答案:

答案 0 :(得分:3)

这将包含由段落(<p>...</p>)中的多个换行符分隔的部分,并插入符号(<br>),其中只有一个换行符。

template = '<p>' + template.replace(/\n{2,}/g, "</p><p>").replace(/\n/g, "<br>") + '</p>';

例如,它将采取这个:

Title

First line.
Second line.

Footer

并将其转换为:

<p>Title</p><p>First line.<br>Second line.</p><p>Footer</p>

答案 1 :(得分:2)

最简单的解决方案是您可以使用<br>替换换行符。

尝试

text.split('\n').join('\n<br>\n')

然后你就完成了。

答案 2 :(得分:0)

好的,最后这段代码片段对我有用 -

template = template.replace(/\n/gi, "</p></br/>")
template = template.replace(/<\/p>/gi, "</p><p></br/>")

这是很多热门和试验,但最终还是有效。