https://github.com/atlantis-software/mailx
POP,IMAP and SMTP clients
https://github.com/atlantis-software/mailx
Last synced: 8 months ago
JSON representation
POP,IMAP and SMTP clients
- Host: GitHub
- URL: https://github.com/atlantis-software/mailx
- Owner: Atlantis-Software
- Created: 2015-01-15T09:08:01.000Z (about 11 years ago)
- Default Branch: master
- Last Pushed: 2018-04-18T07:31:24.000Z (almost 8 years ago)
- Last Synced: 2025-07-07T11:17:00.443Z (9 months ago)
- Language: JavaScript
- Size: 40 KB
- Stars: 18
- Watchers: 5
- Forks: 11
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
Mailx
-------
[](https://www.npmjs.com/mailx)
[](https://travis-ci.org/Atlantis-Software/mailx)
[](https://coveralls.io/github/Atlantis-Software/mailx?branch=master)
[](https://nodesecurity.io/orgs/atlantis/projects/197e1a87-263d-4dec-90d7-4e1850240fc4)
[](https://david-dm.org/Atlantis-Software/mailx)
mailx is a simple and complete email client library (pop, imap and smtp) for nodejs.
----------
Write and send an Email
---------------------------------------------------
#### Message objet
the message object is used to write or read a message.
**Sample:** write a new message
```javascript
var message = 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? hugs');
```
#### Transport object
the transport objet is used to send a predefined message.
**Sample:** sending a message
```javascript
var transport = mailx.transport('smtp.example.net', 25, 'login', 'password');
transport.send(message, function(err,result) {
console.log(result);
});
```
Receive Email
-------------------------------------------
Store object
**Sample:** get all messages from server, log their subjets and delete the last one
```javascript
var store = mailx.store('pop3', 'pop.example.net', 110, 'login', 'password');
store.connect(function(err) {
if (err) {
return console.log('connect error', err);
}
store.getInboxMessages(0, function(err, messages) {
if (err) {
return console.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
```javascript
var store = mailx.store('imap', 'imap.example.net', 143, 'login', 'password');
store.connect(function(err) {
if (err) {
return console.log('err connect: ', err);
}
var inbox = store.getInbox(1);
inbox.fail(function(err){
console.log('fail get messages: ', err);
});
inbox.done(function(status){
console.log('end of inbox');
});
(function recursiveRcpt() {
inbox.getNextMessage(function(err, message) {
if (err) {
return console.log('fail get message: ', err);
}
if (message === null) {
return console.log('no more message to read');
}
console.log(message.subject);
recursiveRcpt();
});
})();
});
```