function MailListener(options) { this.markSeen = !! options.markSeen; this.mailbox = options.mailbox || "INBOX"; if ('string' === typeof options.searchFilter) { this.searchFilter = [options.searchFilter]; } else { this.searchFilter = options.searchFilter || ["UNSEEN"]; } this.fetchUnreadOnStart = !! options.fetchUnreadOnStart; this.mailParserOptions = options.mailParserOptions || {}; if (options.attachments && options.attachmentOptions && options.attachmentOptions.stream) { this.mailParserOptions.streamAttachments = true; } this.attachmentOptions = options.attachmentOptions || {}; this.attachments = options.attachments || false; this.attachmentOptions.directory = (this.attachmentOptions.directory ? this.attachmentOptions.directory : ''); this.imap = new Imap({ xoauth2: options.xoauth2, user: options.username, password: options.password, host: options.host, port: options.port, tls: options.tls, tlsOptions: options.tlsOptions || {}, connTimeout: options.connTimeout || null, authTimeout: options.authTimeout || null, debug: options.debug || null }); this.imap.once('ready', imapReady.bind(this)); this.imap.once('close', imapClose.bind(this)); this.imap.on('error', imapError.bind(this)); }
n/a
function MailListener(options) { this.markSeen = !! options.markSeen; this.mailbox = options.mailbox || "INBOX"; if ('string' === typeof options.searchFilter) { this.searchFilter = [options.searchFilter]; } else { this.searchFilter = options.searchFilter || ["UNSEEN"]; } this.fetchUnreadOnStart = !! options.fetchUnreadOnStart; this.mailParserOptions = options.mailParserOptions || {}; if (options.attachments && options.attachmentOptions && options.attachmentOptions.stream) { this.mailParserOptions.streamAttachments = true; } this.attachmentOptions = options.attachmentOptions || {}; this.attachments = options.attachments || false; this.attachmentOptions.directory = (this.attachmentOptions.directory ? this.attachmentOptions.directory : ''); this.imap = new Imap({ xoauth2: options.xoauth2, user: options.username, password: options.password, host: options.host, port: options.port, tls: options.tls, tlsOptions: options.tlsOptions || {}, connTimeout: options.connTimeout || null, authTimeout: options.authTimeout || null, debug: options.debug || null }); this.imap.once('ready', imapReady.bind(this)); this.imap.once('close', imapClose.bind(this)); this.imap.on('error', imapError.bind(this)); }
n/a
function EventEmitter() { EventEmitter.init.call(this); }
n/a
function MailListener(options) { this.markSeen = !! options.markSeen; this.mailbox = options.mailbox || "INBOX"; if ('string' === typeof options.searchFilter) { this.searchFilter = [options.searchFilter]; } else { this.searchFilter = options.searchFilter || ["UNSEEN"]; } this.fetchUnreadOnStart = !! options.fetchUnreadOnStart; this.mailParserOptions = options.mailParserOptions || {}; if (options.attachments && options.attachmentOptions && options.attachmentOptions.stream) { this.mailParserOptions.streamAttachments = true; } this.attachmentOptions = options.attachmentOptions || {}; this.attachments = options.attachments || false; this.attachmentOptions.directory = (this.attachmentOptions.directory ? this.attachmentOptions.directory : ''); this.imap = new Imap({ xoauth2: options.xoauth2, user: options.username, password: options.password, host: options.host, port: options.port, tls: options.tls, tlsOptions: options.tlsOptions || {}, connTimeout: options.connTimeout || null, authTimeout: options.authTimeout || null, debug: options.debug || null }); this.imap.once('ready', imapReady.bind(this)); this.imap.once('close', imapClose.bind(this)); this.imap.on('error', imapError.bind(this)); }
n/a
function EventEmitter() { EventEmitter.init.call(this); }
n/a
start = function () { this.imap.connect(); }
...
markSeen: true, // all fetched email willbe marked as seen and not fetched next time
fetchUnreadOnStart: true, // use it only if you want to get all unread email on lib start. Default is `false`,
mailParserOptions: {streamAttachments: true}, // options to be passed to mailParser lib.
attachments: true, // download attachments as they are encountered to the project directory
attachmentOptions: { directory: "attachments/" } // specify a download directory for attachments
});
mailListener.start(); // start listening
// stop listening
//mailListener.stop();
mailListener.on("server:connected", function(){
console.log("imapConnected");
});
...
stop = function () { this.imap.end(); }
...
attachments: true, // download attachments as they are encountered to the project directory
attachmentOptions: { directory: "attachments/" } // specify a download directory for attachments
});
mailListener.start(); // start listening
// stop listening
//mailListener.stop();
mailListener.on("server:connected", function(){
console.log("imapConnected");
});
mailListener.on("server:disconnected", function(){
console.log("imapDisconnected");
...