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