Javascript Node.js imap连接处理
我需要编写一个node.js应用程序来不断检查是否有来自imap服务器的新电子邮件 我正在尝试编写一个处理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
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)
有人能告诉我我的代码或其他更好的做法有什么问题吗?谢谢