stream.once('end', function() { var mailParser = new MailParser(); mailParser.on('end', function(mailMessage) { processNewMessage(msg, mailMessage); }); mailParser.write(messageText); mailParser.end(); }); // End of msg->end
function ParseMail(plugin, connection, cb) { var mailparser = new MailParser({ 'streamAttachments': false }); mailparser.on("end", function(mail) { if ( mail.attachments ) { StoreAttachments(connection, plugin, mail.attachments, mail, function(error, mail_object) { return cb(mail_object); }); } else { return cb(mail); } }); connection.transaction.message_stream.pipe(mailparser, {}); }
pop3Client.on("retr", function(status, msgNumber, data, rawData) { // node.log(util.format("retr: status=%s, msgNumber=%d, data=%j", status, msgNumber, data)); if (status) { // We have now received a new email message. Create an instance of a mail parser // and pass in the email message. The parser will signal when it has parsed the message. var mailparser = new MailParser(); mailparser.on("end", function(mailObject) { //node.log(util.format("mailparser: on(end): %j", mailObject)); processNewMessage(msg, mailObject); }); mailparser.write(data); mailparser.end(); pop3Client.dele(msgNumber); } else { node.log(util.format("retr error: %s %j", status, rawData)); pop3Client.quit(); setInputRepeatTimeout(); } });