在node.js中使用手柄呈现电子邮件

在node.js中使用手柄呈现电子邮件,node.js,express,handlebars.js,email-templates,Node.js,Express,Handlebars.js,Email Templates,我正在使用Nodejs/express/hbs/handlebar编写应用程序 我尝试在购买后向用户发送电子邮件,并附上收据。它应该只是简单的文本消息,带有发票条目和总价值 发送电子邮件效果很好,我可以呈现一些简单的值,比如{{{bullers\u email}},但是在使用{{{{each}}时。。。{{/each}}-它不渲染它,只是将它逐字打印到电子邮件的内容中 更奇怪的是,在普通页面(如index.hbs)中,使用了{#each},而且效果很好 代码如下: 服务器端咖啡 sendRe

我正在使用Nodejs/express/hbs/handlebar编写应用程序

我尝试在购买后向用户发送电子邮件,并附上收据。它应该只是简单的文本消息,带有发票条目和总价值

发送电子邮件效果很好,我可以呈现一些简单的值,比如
{{{bullers\u email}}
,但是在使用
{{{{each}}时。。。{{/each}}
-它不渲染它,只是将它逐字打印到电子邮件的内容中

更奇怪的是,在普通页面(如index.hbs)中,使用了
{#each}
,而且效果很好

代码如下:

服务器端咖啡

  sendReceipt = (buyers_email) ->
    products =  [
      { name: 'Product1', name: 'Joan' }
      { name: 'Product2', name: 'Cesar' }
    ]
    mailer.send
      host: xxx
      port: xxx
      authentication: 'login'
      username: xxx
      password: xxx
      domain:xxx
      from: xxx
      to: buyers_email
      subject: xxx
      template: 'views/email-receipt.hbs'
      data:
        products: products
        some_key: "some value"
    , (err)-> {}
电子邮件回执。hbs

<p>{{some_key}}</p>
{{#each products}}
  <p>product</p>
{{/each}}

什么会导致这种行为?

如果您只是手动呈现带有数据的模板,这是否有效?
mailer.send
做什么?@wiredparie,你说的手动渲染是什么意思?我已经更正了服务器。咖啡淹没,现在应该更清楚了。Mailer.send只是发送电子邮件,它是那个库:直接调用Handlebar渲染函数。@wiredPairie,当这样做时:它工作。我应该在电子邮件模板中调用把手渲染吗?你能试试
{{{each data.products}}
?你没有提到你用的是哪个邮递包。
some_value 
{{#each products}} product {{/each}}