postal.io
v1.1.1
Published
A javascript client for Postal
Downloads
4
Maintainers
Readme
postal.io
A simple client for Postal
example
var Postal = require('postal.io');
var postal = new Postal({
host : 'https://postal.example.com'
, key : 'Vi7Sy5dsy35X8x3frTxlZYHn'
});
postal.send({
to : ['[email protected]']
, cc : []
, bcc : []
, from : '[email protected]'
, sender : null
, subject : 'this is the subject'
, tag : 'this is some tag'
, reply_to : null
, plain_body : 'text body'
, html_body : '<h2>html body</h2'
, attachments : [] //array of attachments
, headers : {} //hash
, bounce : null //true/false
}, function (err, result) {
/*... stuff ...*/
});
api
- new Postal(opts) - constructor function
- opts.host - string - the url to the postal server
- opts.key - string - the API key from the postal server
- postal.send(email, callback) - send an email
- email - hash - see postal docs for options
- callback(err, result) - function - callback function called when complete
events
Events are provided by event-pipeline. It is required to call the callback function in the event handler in order to continue processing the email. If an error is passed to the callback function, then the email will not be sent.
- postal.on('send:before', handler)
- handler(req, callback) - function - event handler function
- postal.on('send:after', handler)
- handler(req, callback) - function - event handler function
juice
Here is an example of using this module with juice.
var juice = require('juice');
var Postal = require('postal.io');
var postal = new Postal({ /* ... */ });
postal.on('send:before', function (req, cb) {
if (!req.email.html_body) {
return cb()
}
juice.juiceResources(req.email.html_body, {}, function (err, body) {
req.email.html_body = body;
return cb(err, req)
});
});
postal.send(/* ... /*);
license
MIT