mailx is a simple and complete email client library (pop, imap and smtp) for nodejs.
the message object is used to write or read a message.
Sample: write a new message
varmessage=mailx.message();message.setFrom('me','me@example.net');message.addTo('you','you@example.net');message.setSubject('hello');message.setText('hi ! how are u?');message.setHtml('hi ! how are u? <b>hugs</b>');the transport objet is used to send a predefined message.
Sample: sending a message
vartransport=mailx.transport('smtp.example.net',25,'login','password');transport.send(message,function(err,result){console.log(result);});Store object
Sample: get all messages from server, log their subjets and delete the last one
varstore=mailx.store('pop3','pop.example.net',110,'login','password');store.connect(function(err){if(err){returnconsole.log('connect error',err);}store.getInboxMessages(0,function(err,messages){if(err){returnconsole.log('inbox error',err);}messages.forEach(function(message,index){console.log(message.subject);if(index===messages.length-1){message.delete(function(err,data){console.log('message deleted!',data);store.close(function(err,data){console.log('store.close err:',err);});});}});});});Sample: get message by message from server and log their subjets
varstore=mailx.store('imap','imap.example.net',143,'login','password');store.connect(function(err){if(err){returnconsole.log('err connect: ',err);}varinbox=store.getInbox(1);inbox.fail(function(err){console.log('fail get messages: ',err);});inbox.done(function(status){console.log('end of inbox');});(functionrecursiveRcpt(){inbox.getNextMessage(function(err,message){if(err){returnconsole.log('fail get message: ',err);}if(message===null){returnconsole.log('no more message to read');}console.log(message.subject);recursiveRcpt();});})();});