trebuchet

v1.1.0
A node.js module for throwing email around using the Postmark API.
mail email postmark mustache juice template

Trebuchet

Let's chuck some email!

Trebuchet is a node.js module for super simple email transactions using the Postmark API and Mustache for templating. Trebuchet was designed with simple email rendering, batching and API operations in mind.

Installation

npm install trebuchet

Templating

Trebuchet uses Mustache templates to make sending dynamic HTML and plain-text emails super-duper simple.

An example template:

<html>
    <body>
        <h1>{{greeting}}</h1>
    </body>
</html>

With example data:

{
    greeting: 'Hello World!'
}

Result:

<html>
    <body>
        <h1>Hello World!</h1>
    </body>
</html>

Basic Use (Fling Pattern)

var trebuchet = require('trebuchet')('yourapikey');

trebuchet.fling({
    params:     {
        from:       '[email protected]',
        to:         '[email protected]',
        subject:    'This is only a test of the fling pattern'
    },
    html:       'path/to/template/fling.html',
    text:       'path/to/template/fling.txt',
    data:       {
        foo:        'Bar'
    }
}, function (err, response) {
    // Win!
});

Batch Sender (Load --> Fire Pattern)

The batch sender uses the Postmark API's batch method to support sending groups of messages (up to 500 at a time).

var trebuchet = require('trebuchet')('yourapikey');

trebuchet.load({
    params:     {
        from:       '[email protected]',
        to:         '[email protected]',
        subject:    'This is only a test of the load/fire pattern'
    },
    html:       'path/to/template/fire.html',
    text:       'path/to/template/fire.txt',
    data:       {
        foo:        'Bar',
        name:       'Bubba'
    }
}, function (err, response) {
    // Loaded!
});
trebuchet.fire(function (err, response) {
    // Win! 
});

Testing

node test/* --from "[email protected]" --to "[email protected]"
npm i trebuchet

Metadata

Downloads

Maintainers