将邮件附件转换为文件

时间:2014-12-05 12:16:36

标签: node.js email pdf

我正在使用mail-notifier检查邮箱:

var notifier = require('mail-notifier');

var imap = {
      username: "hardcoreuser@stuff.whatever",
      password: "hardcorepassword",
      host: "hardcorehost",
      port: 143, // imap port
      tls: false,
      tlsOptions: { rejectUnauthorized: false }
};

notifier(imap).on('mail',function(mail){
         console.log("GOT MAIL");
         console.log(mail);

}).start();

我能够获得所有文字,但我的主要目标是获得附件。 我想我也得到了附件,因为我可以访问这个信息

attachments:
   [ { contentType: 'application/pdf',
       fileName: 'hardcorefilename.pdf',
       contentDisposition: 'attachment',
       transferEncoding: 'base64',
       generatedFileName: 'helios-ip-integration-document-fw260.pdf',
       contentId: 'ba0391e4323aa65cb1204e41aa36a82d@mailparser',
       checksum: '2ad15bae0d1c33bcdf2f35d4839061db',
       length: 789634,
       content: <Buffer 25 50 44 46 2d 31 2e 35 0d 0a 25 b5 b5 b5 b5 0d 0a 31 20
 30 20 6f 62 6a 0d 0a 3c 3c 2f 54 79 70 65 2f 43 61 74 61 6c 6f 67 2f 50 61 67 6
5 73 20 32 20 30 ...> } ] }

我试图找到一个可以做到这一点的模块,但没有运气。 如何将编码内容转换为pdf文档?

1 个答案:

答案 0 :(得分:2)

发现它!

require("fs").writeFile("out.pdf", mail.attachments[0].content, 'base64', function(err) {
   console.log(err);
});