如何将PDF附加到快递应用程序发送的电子邮件中

时间:2017-09-20 12:47:55

标签: node.js email express pdf mandrill

我正在尝试发送包含PDF附件的电子邮件,但无法打开PDF。 (如何从文件系统加载PDF并将其包含在从快速应用程序发送的电子邮件中?)

这就是我现在所拥有的:我从filesystm加载PDF,如下所示:var pdfAttach = fs.readFileSync('./pdfs/test.pdf', 'binary');并将其包含在发送给Mandrill的对象中,如下所示:

{
...
attachments:
  [{content: pdfAttach,
    name: "testing.pdf",
    type: "application/pdf"
  }],
...
}

收件人会收到一封包含无法打开的PDF文件的电子邮件。关于如何解决这个问题的任何想法?

1 个答案:

答案 0 :(得分:1)

如果您查看Mandrill的消息API here,您将看到附件的内容必须是base64编码的字符串。所以代码是:

var pdfAttach = fs.readFileSync('./pdfs/test.pdf');
...
attachments:
  [{content: pdfAttach.toString('base64'),
    name: "testing.pdf",
    type: "application/pdf"
}],
...

希望这有帮助。