3

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

是否有针对此要求的任何库或自动执行此操作的方法?

4

3 回答 3

6

下面将包装段落中由多个换行符分隔的所有部分 ( ) 并在只有一个换行符的地方<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>
于 2017-08-13T09:31:56.887 回答
2

最简单的解决方案是您可以将换行符替换为<br>.

尝试

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

那么你就完成了。

于 2017-07-18T10:23:07.933 回答
0

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

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

这是一个很大的打击和试验,但最终它奏效了。

于 2017-07-18T10:48:36.343 回答