Giter Club home page Giter Club logo

postmark.js's Introduction

Postmark.js -- Simple Email Sending

Note: This was recently updated to run directly on node.js 0.4.0 so there are no other dependencies. If you were using this before, it should upgrade perfectly fine without any change.

Send emails with the greatest of ease! Now your node.js application can send emails through Postmark using their HTTP API. To send any email, including attachments, all you need to do is this:

    var postmark = require("postmark")("YOURAPIKEY");
    postmark.send({
        "From": "[email protected]", 
        "To": "[email protected]", 
        "Subject": "Test", 
        "TextBody": "Test Message"
    });

Replace YOURAPIKEY with the API key provided by Postmark and you are good to go! Your message must be provided in the format specified in the Postmark API and will be verified. If you provide the object in a manner not as specified (including case sensitivity), an exception will be thrown. Send takes a callback as the second parameter that indicates success or failure, following the normal node.js callback pattern callback(error, result), if there is an issue with the submission an error object will be returned as the first argument.

To send attachments with the email, use the following format:

    var postmark = require("postmark")("YOURAPIKEY");
    postmark.send({
        "From": "[email protected]", 
        "To": "[email protected]", 
        "Subject": "Test", 
        "TextBody": "Test Message",
        "Attachments": [{
          "Content": File.readFileSync("./unicorns.jpg").toString('base64'),
          "Name": "PrettyUnicorn.jpg",
          "ContentType": "image/jpeg"
        }]
    }, function(error, success) {
        if(error) {
            console.error("Unable to send via postmark: " + error.message);
            return;
        }
        console.info("Sent to postmark for delivery")
    });

Sending Batch Messages

The Postmark API provides functionality for sending batches of emails with a single command, rather than issuing separate API calls for each message. You can access this feature by using postmark.batch(), which behaves similarly to postmark.send() except that the first parameter is an array of messages formatted as above.

For example:

var postmark = require("postmark")("YOURAPIKEY");

var messages = [
    {
        "From": "[email protected]",
        "To": "[email protected]",
        "Subject": "Message #1",
        "TextBody": "This is email number 1."
    },
    {
        "From": "[email protected]",
        "To": "[email protected]",
        "Subject": "Message #2",
        "TextBody": "This is email number 2."
    }
];

postmark.batch(messages, function (error, success) {
    if (error) {
        console.error("Unable to send via postmark: " + error.message);
        return;
    }
    console.info("Messages sent to postmark");
});

The Postmark API will return an array of statuses, one for each message sent. You can access the data about individual messages in either error or success. For further details, please see the Postmark Batch API.

Enjoy sending.

Install

  npm install postmark

Special Thanks

postmark.js's People

Contributors

benburwell avatar geek0x23 avatar atinux avatar mblackshaw avatar codesplicer avatar g00d-guy avatar alexshepard avatar benw avatar kooba avatar canxerian avatar ryankirkman avatar trupin avatar francescorubini avatar

Watchers

James Cloos avatar Matt Fitz-Henry avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.