8

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

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

所以不要这样做:

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

我想做类似的事情:

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

这可以做到吗,如果可以,怎么做?!

4

1 回答 1

15

只需require直接 ejs 并按照示例使用,例如简化用法(无缓存):

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});
于 2012-04-02T02:53:33.040 回答