在node.js中使用手柄呈现电子邮件
我正在使用Nodejs/express/hbs/handlebar编写应用程序 我尝试在购买后向用户发送电子邮件,并附上收据。它应该只是简单的文本消息,带有发票条目和总价值 发送电子邮件效果很好,我可以呈现一些简单的值,比如在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
{{{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}}