diff --git a/index.js b/index.js index 183c911..995f0e8 100644 --- a/index.js +++ b/index.js @@ -9,6 +9,7 @@ var async = require('async'); module.exports = MailListener; function MailListener(options) { + this.closeAtEnd = options.closeAtEnd; this.markSeen = !! options.markSeen; this.mailbox = options.mailbox || "INBOX"; if ('string' === typeof options.searchFilter) { @@ -138,6 +139,11 @@ function parseUnread() { f.once('error', function(err) { self.emit('error', err); }); + if (self.closeAtEnd) { + f.once('end', function () { + self.imap.end(); + }); + } }, function(err){ if( err ) { self.emit('error', err); diff --git a/package.json b/package.json index 253e5a4..23cda1e 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { - "name": "mail-listener2", - "version": "0.3.1", - "description": "Mail listener library for node.js. Get notification when new email arrived.", + "name": "mail-listener-close", + "version": "0.0.2", + "description": "Mail listener library for node.js. Get emails and close after ends", "dependencies": { "imap": "~0.8.14", "mailparser": "~0.4.6", @@ -9,9 +9,9 @@ }, "repository": { "type": "git", - "url": "git://github.com/chirag04/mail-listener2.git" + "url": "https://github.com/ivanrios/mail-listener-closet" }, - "homepage": "https://github.com/chirag04/mail-listener2", + "homepage": "https://github.com/ivanrios/mail-listener-close", "keywords": [ "mail", "job", @@ -21,9 +21,9 @@ "email parser" ], "author": { - "name": "Chirag Jain", - "email": "jain_chirag04@yahoo.com", - "url": "http://chiragjain.tumblr.com" + "name": "Ivan Rios", + "email": "ivanrios.a@gmail.com", + "url": "https://github.com/ivanrios" }, "license": "MIT" } diff --git a/readme.md b/readme.md index 2f46edb..1af9e44 100644 --- a/readme.md +++ b/readme.md @@ -1,16 +1,16 @@ # Overview -Mail-listener2 library for node.js. Get notification when new email arrived to inbox or when message metadata (e.g. flags) changes externally. Uses IMAP protocol. +Mail-listener-close library for node.js. Get notification when new email arrived to inbox or when message metadata (e.g. flags) changes externally. Uses IMAP protocol. We are using these libraries: [node-imap](https://github.com/mscdex/node-imap), [mailparser](https://github.com/andris9/mailparser). -Heavily inspired by [mail-listener](https://github.com/circuithub/mail-listener). +Heavily inspired by [mail-listener2](https://github.com/chirag04/mail-listener2). ## Use Install -`npm install mail-listener2` +`npm install mail-listener-close` JavaScript Code: @@ -18,7 +18,7 @@ JavaScript Code: ```javascript -var MailListener = require("mail-listener2"); +var MailListener = require("mail-listener-close"); var mailListener = new MailListener({ username: "imap-username",