trebuchet

A node.js module for throwing email around using the Postmark API.

Trebuchet

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.

npm install trebuchet

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>
var trebuchet = require('trebuchet')('yourapikey');
 
trebuchet.fling({
    params:     {
        from:       'you@domain.com',
        to:         'someone@domain.com',
        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 (errresponse) {
    // Win! 
});

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:       'you@domain.com',
        to:         'someone@domain.com',
        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 (errresponse) {
    // Loaded! 
});
trebuchet.fire(function (errresponse) {
    // Win!  
});
node test/* --from "you@domain.com" --to "someone@domain.com"