使用 PDFkit 通过 Nodemailer 发送 base64 编码的 PDF

Add*_*ict 2 pdf attachment pdfkit node.js nodemailer

我有一个函数可以返回一个 base64 编码的 PDF,我想使用 nodemailer 将其作为 PDF 附件文件发送。

关于nodemailer文档,我找到了这个例子:

const mailOptions = {
    from: 'email1@gmail.com', // sender address
    to: 'email2@gmail.com', // list of receivers
    subject: 'Simulation', // Subject line
    html: '<p>SALUT</p>', // plain text body
    filename: 'file.pdf',
    attachments: [
          content: Buffer.from(
                'iVBORw0KGgoAAAANSUhEUgAAABAAAAAQAQMAAAAlPW0iAAAABlBMVEUAAAD/' +
                    '//+l2Z/dAAAAM0lEQVR4nGP4/5/h/1+G/58ZDrAz3D/McH8yw83NDDeNGe4U' +
                    'g9C9zwz3gVLMDA/A6P9/AFGGFyjOXZtQAAAAAElFTkSuQmCC',
                'base64'
            ),

            cid: 'note@example.com' // should be as unique as possible
        },
Run Code Online (Sandbox Code Playgroud)

但是,这对我不起作用。我错过了什么吗?

Add*_*ict 5

好吧,这都是格式问题。

以下是如何在 Nodemailer 上使用 B64:

  const mailOptions = {
    from: 'email1@gmail.com', // sender address
    to: 'email2@gmail.com', // list of receivers
    subject: "Hey this is a subject example", //subject
    attachments: [
      {
        filename: `myfile.pdf`,
        content: 'THISISAB64STRING',
        encoding: 'base64',
      },
    ],
  };
Run Code Online (Sandbox Code Playgroud)

然后以经典方式发送即可。