带有 Nodemailer 的 HTML2PDF

HTML2PDF with Nodemailer

尝试从 eKoopman 的 HTML2PDF.js 发送生成的 PDF 作为电子邮件附件发送——但无法显示生成的 PDF。在 Stack Overflow 和其他地方尝试过很多解决方案,但很多都已经过时了。

HTML2PDF:

html2pdf().set(opt).from(iac).toPdf().output('datauristring')
    .then(function(pdf) {
        emailDoc(pdf)
    })

尝试来自 emailDoc() 的邮件选项的相关部分:

attachments: [{
   filename: 'Name.pdf',
   content: Buffer.from(pdf).toString('base64')
}]

attachments: [{
   filename: 'Name.pdf',
   content: Buffer.from(pdf).toString('base64'),
   contentType: 'application/pdf'
}]

attachments: [{
   filename: 'Name.pdf',
   content: new Buffer(pdf, 'base64'),
   contentType: 'application/pdf'
}]

attachments: [{
   filename: 'Name.pdf',
   content: pdf,
   encoding: 'base64'
}]

不一定是 base64 方法,只要是任何组合即可!

您可以尝试先保存您的 pdf,然后使用路径描述上传它,

  attachments: [{
    filename: 'file.pdf',
    path: '/path/to/file',
    contentType: 'application/pdf'
  }],

希望对您有所帮助!