Imap nodejs сохранить электронные письма как файл .pst - PullRequest
0 голосов
/ 18 апреля 2020

Я использовал пакет IMAP на nodejs, и это прекрасно работает. https://github.com/mscdex/node-imap

imap.once('ready', function() {
    openInbox(function(err, box) {
      if (err) return ReE(res, {err:err}) ;
      imap.search([ 'ALL', ['SINCE', 'May 20, 2010'] ], function(err, results) {
        if (err) return ReE(res, {err:err}) ;
        var f = imap.fetch(results, { bodies: '' });
        f.on('message', function(msg, seqno) {
          console.log('Message #%d', seqno);
          var prefix = '(#' + seqno + ') ';
          msg.on('body', async function(stream, info) {
            console.log(prefix + 'Body');
            let name = `${Math.random().toString(36).substring(2)}`;
            stream.pipe(fs.createWriteStream(`${dir}/${name}.txt`));
          });
          msg.once('attributes', function(attrs) {
            console.log(prefix + 'Attributes: %s', inspect(attrs, false, 8));
          });
          msg.once('end', function() {
            console.log(prefix + 'Finished');
          });
        });
        f.once('error', function(err) {
          if (err) return ReE(res, {err:err}) ;
        });
        f.once('end', function() {
          console.log('Done fetching all messages!');
          imap.end();
        });
      });
    });
  });

Я могу прочитать все письма с приведенными выше фрагментами. но мне нужно хранить эти письма в виде файла .pst для импорта в outlook. есть ли способ?

...