目前在我的项目中,我正在处理一种情况,我觉得这是一个语法问题,但我没有得到正确的答案,而且在过去的三天里有点压力和倾斜。
我正在使用三个库 NodeJs、Html-pdf(phantomJS) 和 Nodemailer。
这是有问题的代码块(一切都在一个主要的异步函数中,它是graphQl的解析器)
await pdf.create(html, options).toBuffer(async (err, buffer) => {
//i = new ;
//console.log(typeof(buffer))
await buffer;
await transporter.sendMail({
from: '"Example" example@example.com', // sender address
to: `${a1.dataValues.email}`, // list of receivers
subject: `${text2}`, // Subject line
text: `${text}`, // plain text body
html: `<p> ${text} </p>`, // html body
attachments: [
{
filename: `${a1.dataValues.kitID}.pdf`,
content: buffer,
contentType: "application/pdf",
},
],
});
});
电子邮件已发送,但我在浏览器中收到此邮件
附件已发送,但我猜它是“未定义的”,我一直在努力寻找解决此问题的方法。有人可以帮帮我吗?
我也尝试过
attachments: [
{
filename: `${a1.dataValues.kitID}.pdf`,
content: new buffer.from(buffer),
contentType: "application/pdf",
},
],
attachments: [
{
filename: `${a1.dataValues.kitID}.pdf`,
content: new buffer(buffer),
contentType: "application/pdf",
},
],
attachments: [
{
filename: `${a1.dataValues.kitID}.pdf`,
content: new buffer.from(buffer,'base64'),
contentType: "application/pdf",
},
],
但所有这些都会使 Azure 中的应用程序崩溃。一切都在本地完美运行,但在部署时却不行。