我正在尝试发送包含PDF附件的电子邮件,但无法打开PDF。 (如何从文件系统加载PDF并将其包含在从快速应用程序发送的电子邮件中?)
这就是我现在所拥有的:我从filesystm加载PDF,如下所示:var pdfAttach = fs.readFileSync('./pdfs/test.pdf', 'binary');
并将其包含在发送给Mandrill的对象中,如下所示:
{
...
attachments:
[{content: pdfAttach,
name: "testing.pdf",
type: "application/pdf"
}],
...
}
收件人会收到一封包含无法打开的PDF文件的电子邮件。关于如何解决这个问题的任何想法?
答案 0 :(得分:1)
如果您查看Mandrill的消息API here,您将看到附件的内容必须是base64编码的字符串。所以代码是:
var pdfAttach = fs.readFileSync('./pdfs/test.pdf');
...
attachments:
[{content: pdfAttach.toString('base64'),
name: "testing.pdf",
type: "application/pdf"
}],
...
希望这有帮助。