我可以使用 nodemailer 将对象附加到电子邮件吗?

Can i attach an object to an email with nodemailer?

我需要用 nodemailer 发送电子邮件,但在电子邮件中我需要附加一个我使用 jspdf 生成的 pdf,问题是我无法将对象附加到电子邮件,我可以附加一个文件来获取它路径、字符串和许多其他东西,但我不能的对象。

我想保存 pdf 并使用它的路径,但这都是在 VM 上工作的,所以我不想使用太多 cpu 电源或 ram space.

我也试过在 pdf 中使用 JSON.stringify(),但是没有用,而且电子邮件的附件是空的。

您可以使用 attachments 对象的 content 属性 附加您的 pdf 文件。它支持多种格式——字符串、文件路径、缓冲区、fs 读取流等。 看到这个 docs.

如果是 jspdf,你可以使用 output() 方法

const message = {
    // ...
    attachments: [
       {
           filename: "mypdf.pdf",
           content: pdfObject.output('arraybuffer')
       }
    ]
};