可以使用EJS快速将HTML呈现为变量(因此我可以作为电子邮件发送)吗?

Zug*_*alt 7 email view ejs node.js express

我正在编写一个nodejs应用程序,它将使用emailjs发送html电子邮件.基本上我提供html作为我附加到消息的变量发送.

我不想使用大量的字符串连接来构建这个变量,而是使用express/ejs渲染视图并将内容保存到变量中.

所以不要这样做:

messageHtml = '<html>'+ ....
message.attach({data: messageHtml, alternative: true});
Run Code Online (Sandbox Code Playgroud)

我想做点什么:

messageHtml = render('emailTemplate.ejs', viewArgs);
message.attach({data: messageHtml, alternative: true});
Run Code Online (Sandbox Code Playgroud)

可以这样做,如果是这样,怎么办?!

Per*_* P. 13

只需requireejs并根据示例使用,例如简化使用(无缓存):

var ejs = require('ejs')
  , fs = require('fs')
  , str = fs.readFileSync(__dirname + '/emailTemplate.ejs', 'utf8'); 

var messageHtml = ejs.render(str, viewArgs);

message.attach({data: messageHtml, alternative: true});
Run Code Online (Sandbox Code Playgroud)