Javascript Node.js imap连接处理

Javascript Node.js imap连接处理,javascript,node.js,promise,imap,Javascript,Node.js,Promise,Imap,我需要编写一个node.js应用程序来不断检查是否有来自imap服务器的新电子邮件 我正在尝试编写一个处理imap连接的对象 var Imap = require('imap'), inspect = require('util').inspect; const fs = require('fs'); var MailParser = require("mailparser").MailParser; var Promise = require("bluebird"); funct

我需要编写一个node.js应用程序来不断检查是否有来自imap服务器的新电子邮件

我正在尝试编写一个处理imap连接的对象

var Imap = require('imap'),
    inspect = require('util').inspect;
const fs = require('fs');
var MailParser = require("mailparser").MailParser;  
var Promise = require("bluebird");

function ImapConnection(config){
    if (!(this instanceof ImapConnection))
    return new ImapConnection(config);
    this._imap = new Imap(config);
    this._config = config;
}

ImapConnection.prototype.getImap = function(){
    self = this;
    if(this._imap.state !== 'authenticated'){
        return new Promise(function(resolve,reject){
            self._imap.connect();
            self._imap.once('ready', function(){
                resolve(self._imap);
            });
        });
    }else{
        return new Promise(function(resolve,reject){resolve(this._imap);});
    }
} 
但是,当我在调用imap对象的end()函数后调用该对象时,它将不再连接,并始终给出超时错误:

{ [Error: Timed out while connecting to server] source: 'timeout' }
[connection] Closed
events.js:141
      throw er; // Unhandled 'error' event
      ^

Error: Timed out while connecting to server
    at null._onTimeout 
(/home/ctw/Documents/nodejsmail/node_modules/imap/lib/Connection.js:280:15)
    at Timer.listOnTimeout (timers.js:92:15)
有人能告诉我我的代码或其他更好的做法有什么问题吗?谢谢