2015-01-19 5 views
1

Я новичок в узле js. Я смог отправить электронное письмо с помощью node-mailer, но не смог загрузить вложения из папки «Входящие». Я пробовал почтовый уведомитель2, но не повезло.Загрузить вложения электронной почты с помощью node-imap

Есть ли какой-либо рабочий модуль, который я могу использовать для загрузки вложения электронной почты с непрочитанного сообщения.

+0

Вы можете попытаться опубликовать код, который вы пытались при использовании модуля 'imap'. 'imap' может скачать вложения просто отлично. – mscdex

ответ

-1

Это фрагмент кода, который я использовал с imap, в котором отображаются последние 3 непрочитанных сообщения и соответствующие им вложения. Но я не уверен, какой модуль я должен использовать для загрузки этих вложений.

var Imap = require('imap'), 
 
    inspect = require('util').inspect; 
 

 
var imap = new Imap({ 
 
    user: '*****@gmail.com', 
 
    password: '*******', 
 
    host: 'imap.gmail.com', 
 
    port: 993, 
 
    tls: true 
 
}); 
 

 
function openInbox(cb) { 
 
    imap.openBox('INBOX', true, cb); 
 
} 
 

 
imap.once('ready', function() { 
 
    openInbox(function(err, box) { 
 
    if (err) throw err; 
 
    var f = imap.seq.fetch('1:3', { 
 
     bodies: 'HEADER.FIELDS (FROM TO SUBJECT DATE)', 
 
     struct: true 
 
    }); 
 
    f.on('message', function(msg, seqno) { 
 
     console.log('Message #%d', seqno); 
 
     var prefix = '(#' + seqno + ') '; 
 
     msg.on('body', function(stream, info) { 
 
     var buffer = ''; 
 
     stream.on('data', function(chunk) { 
 
      buffer += chunk.toString('utf8'); 
 
     }); 
 
     stream.once('end', function() { 
 
      console.log(prefix + 'Parsed header: %s', inspect(Imap.parseHeader(buffer))); 
 
     }); 
 
     }); 
 
     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) { 
 
     console.log('Fetch error: ' + err); 
 
    }); 
 
    f.once('end', function() { 
 
     console.log('Done fetching all messages!'); 
 
     imap.end(); 
 
    }); 
 
    }); 
 
}); 
 

 
imap.once('error', function(err) { 
 
    console.log(err); 
 
}); 
 

 
imap.once('end', function() { 
 
    console.log('Connection ended'); 
 
});

Смежные вопросы