postal.io

1.1.1 • Public • Published

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 : ['recipient@other-domain.com']
  , cc : []
  , bcc : []
  , from : 'test@postal.example.com'
  , 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

/postal.io/

    Package Sidebar

    Install

    npm i postal.io

    Weekly Downloads

    1

    Version

    1.1.1

    License

    MIT

    Last publish

    Collaborators

    • wankdanker