我正在使用nodemailer发送电子邮件。我想在客户端收到的电子邮件正文中显示一些数据。在电子邮件正文中,数据被视为字符串,其值不打印。
代码是:
let mailOptions = {
from: 'me.waleed28@gmail.com', // sender addressl
to: 'waleed.shahzaib@nxb.com.pk', // list of receivers
cc: '',
subject: 'Hello ✔', // Subject line
// text: 'Hello world?', // plain text body
html: `<b>Hello World?</b>
<h3>data.resourceName</h3>
`
};
数据是一个包含多个字段的对象,但是当我打印时,例如data.resourceName它打印它,因为它不是它的值。它把它当成一根绳子。我是否需要更改其mimetype或其他内容?请告诉我们如何解决这个问题。感谢
答案 0 :(得分:1)
由于您使用的是模板文字,因此需要将promiseReturningFunction(data);
.then((result) => {
doStuff(result);
})
.then(()=>promiseReturningFunction2(data2))
.then((result2) => {
doStuff(result2);
})
.catch((err)=> /* Error handling **/);
包裹起来:data.resourceName
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Template_literals
答案 1 :(得分:1)
我同意上述答案,即您缺少模板文字语法,这可能是您的问题。我将我的数据从客户端传递到电子邮件的模板,该模板只是一个大模板文字并解析模板内部的数据属性。
答案 2 :(得分:0)
除上述答案外,我认为您不想使用模板。虽然,你应该考虑使用模板库,如把手,胡子等。
如果没有,请按以下步骤操作:
let mailOptions = {
from: 'me.waleed28@gmail.com', // sender addressl
to: 'waleed.shahzaib@nxb.com.pk', // list of receivers
cc: '',
subject: 'Hello ✔', // Subject line
// text: 'Hello world?', // plain text body
html: `<b>Hello World?</b><br><h3>' + data.resourceName + '</h3>`
};