Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- 'use strict';
- var Imap = require('imap'),
- inspect = require('util').inspect;
- var util = require('util')
- var Promise = require( 'bluebird' )
- exports.list=function(email,pass){
- var message='';
- var imap = new Imap({
- user: email,
- password: pass,
- host: 'imap.gmail.com',
- port: 993,
- tls: true
- });
- function openInbox(cb) {
- imap.openBox('INBOX', true, cb);
- }
- var promiseBuilder = [];
- promiseBuilder.push( imap.openBox('INBOX', true, cb))
- promiseBuilder.push(imap.once('ready', function() {
- openInbox(function(err, box) {
- if (err) throw err;
- var f = imap.seq.fetch(box.messages.total + ':*', { bodies: ['HEADER.FIELDS (FROM TO SUBJECT DATE)','TEXT'] });
- f.on('message', function(msg, seqno) {
- var prefix = '(#' + seqno + ') ';
- msg.on('body', function(stream, info) {
- var buffer = '', count = 0;
- stream.on('data', function(chunk) {
- count += chunk.length;
- buffer += chunk.toString('utf8');
- if (info.which === 'TEXT')
- console.log(prefix + 'Body [%s] (%d/%d)', inspect(info.which), count, info.size);
- });
- stream.once('end', function() {
- if (info.which !== 'TEXT'){
- console.log(prefix + 'Parsed header: %s', inspect(Imap.parseHeader(buffer)));
- message=inspect(Imap.parseHeader(buffer));
- }else{
- console.log(prefix + 'Body [%s] Finished', inspect(info.which));
- }
- });
- });
- msg.once('attributes', function(attrs) {
- });
- msg.once('end', function() {
- });
- });
- f.once('error', function(err) {
- console.log('Fetch error: ' + err);
- });
- f.once('end', function() {
- console.log('Done fetching all messages!');
- imap.end();
- });
- });
- }))
- promiseBuilder.push(imap.once('error', function(err) {
- console.log(err);
- }))
- promiseBuilder.push(imap.once('end', function() {
- }))
- promiseBuilder.push( imap.connect())
- return Promise.all(promiseBuilder).then(function (promises) {
- var one = promises[0];
- var two = promises[1];
- console.log(one, two)
- })
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement