emailable

Email Verification that's astonishingly easy and low-cost. See https://emailable.com for details.

Usage no npm install needed!

<script type="module">
  import emailable from 'https://cdn.skypack.dev/emailable';
</script>

README

Emailable Node Library

Version Build Status Maintainability Downloads Try on RunKit

This is the official node wrapper for the Emailable API.

Documentation

See the Node API docs.

Installation

Install the package with:

npm install emailable --save
# or
yarn add emailable

Usage

The library needs to be configured with your account's API key which is available in your Emailable Dashboard. Require it with your API key:

Setup

// require with api key
var emailable = require('emailable')('live_...')

Verification

// verify an email address
emailable.verify('jarrett@emailable.com')
  .then(function (response) {
    console.log(response);
  })
  .catch(function (error) {
    console.log(error);
  });

Slow Email Server Handling

Some email servers are slow to respond. As a result the timeout may be reached before we are able to complete the verification process. If this happens, the verification will continue in the background on our servers. We recommend sleeping for at least one second and trying your request again. Re-requesting the same verification with the same options will not impact your credit allocation within a 5 minute window.

{
    message: 'Your request is taking longer than normal. Please send your request again.'
}

Batch Verification

Start a batch

var emails = ['jarrett@emailable.com', 'support@emailable.com', ...]
emailable.batches.verify(emails)
  .then(function (response) {
    console.log(response.id);
  });

// you can optionally pass in options like a callback url that we'll POST to when the
// batch is complete.
emailable.batches.verify(emails, { url: 'https://emailable.com/' }).then(function (response) {
  console.log(response.id);
});

Get the status / results of a batch

Calling batches.status with the batch id will return the batch's status. This will also return the results once the batch is complete.

var id = '5cfcbfdeede34200693c4319'
emailable.batches.status(id)
  .then(function (response) {
    console.log(response);
  });

Development

Run all tests:

$ yarn install
$ yarn test

If you do not have yarn installed, you can get it with npm install --global yarn.

Run a single test suite without a coverage report:

$ yarn test test/verify.spec.js

Contributing

Bug reports and pull requests are welcome on GitHub at https://github.com/emailable/emailable-node.