Node library for open source mail delivery platform, Postal


stars 🌟issues ⚠️updated 🛠created 🐣size 🏋️‍♀️
Minified + gzip package size for @atech/postal in KB


Postal for Node

This library helps you send e-mails through the open source mail delivery platform, Postal in Node.


Install the library using NPM:

$ npm install @atech/postal --save


Sending an email is very simple. Just follow the example below. Before you can begin, you'll need to login to your installation's web interface and generate new API credentials.

// Include the Postal library
var Postal = require('@atech/postal');

// Create a new Postal client using a server key generated using your
// installation's web interface
var client = new Postal.Client('https://postal.yourdomain.com', 'your-api-key');

// Create a new message
var message = new Postal.SendMessage(client);

// Add some recipients

// Specify who the message should be from - this must be from a verified domain
// on your mail server

// Set the subject
message.subject('Hi there!');

// Set the content for the e-mail
message.plainBody('Hello world!');
message.htmlBody('<p>Hello world!</p>');

// Add any custom headers
message.header('X-PHP-Test', 'value');

// Attach any files
message.attach('textmessage.txt', 'text/plain', 'Hello world!');

// Send the message and get the result
  .then(function (result) {
    var recipients = result.recipients();
    // Loop through each of the recipients to get the message ID
    for (var email in recipients) {
      var message = recipients[email];
      console.log(message.id());    // Logs the message ID
      console.log(message.token()); // Logs the message's token
  }).catch(function (error) {
    // Do something with the error

If you find any bugs or have a feature request, please open an issue on github!

The npm package download data comes from npm's download counts api and package details come from npms.io.