【问题标题】:Save attachments NodeJS保存附件 NodeJS
【发布时间】:2018-01-15 19:47:15
【问题描述】:

我正在使用 NodeJS 库(yapople)从我的 pop3 服务器读取电子邮件。我遇到的问题是下载附件。不知道如何准确地做到这一点。我取回了一个可以看到附件的 mailparser 对象。这是我目前所拥有的。

var fs = require('fs');
const simpleParser = require('mailparser').simpleParser;

var Client = require('yapople').Client;
var client = new Client({
  hostname: 'xxxxxxx',
  port:  995,
  tls: true,
  mailparser: true,
  username: 'xxxxx',
  password: 'xxxxx'
});

client.connect(function() {

    //I get an email with attachments
    client.retrieve(4327, function(err, messages){
        if(messages.attachments != null){
        for (var i in messages.attachments) {
            var attachment = messages.attachments[i];
            var data = attachment.content;
            fs.writeFile(attachment.fileName, data)
        }
    }

    })
    client.quit();
})

【问题讨论】:

    标签: node.js pop3


    【解决方案1】:

    here 所示,attachment 对象具有content,即Buffer

    messages.attachments[0].content 应该给你文件(作为Buffer)。

    【讨论】:

    • 感谢您的快速回复。对了,我看到它是一个 Uint8Array(17653) [80, 75, 3, 4, 20, 0, 6, 0, ...]。我遇到的问题是使用 nodejs 保存它。有任何想法吗?我想我对 nodemailer 的工作原理有点迷茫。
    • 你是对的。我需要做的就是 fs.writeFile(attachment.fileName, data)。我更新了我原来的回复。
    • 您可能不想使用发送提供的文件名。你可能会覆盖一个文件,或者它可能包含坏字符....
    猜你喜欢
    • 1970-01-01
    • 2016-07-13
    • 1970-01-01
    • 2019-09-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多