2

目前在我的项目中,我正在处理一种情况,我觉得这是一个语法问题,但我没有得到正确的答案,而且在过去的三天里有点压力和倾斜。

我正在使用三个库 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 中的应用程序崩溃。一切都在本地完美运行,但在部署时却不行。

4

0 回答 0