ghostcreative/ghost-email-service


Host: GitHub

Language: JavaScript


Ghost Email Service

Installation

npm install ghost-email-service --save

Overview

Config (default listed below)

Provide sendgrid secret key + template names and the associated ID's

Sendgrid Config
{
  "email": {
    "processor": "sendgrid",
    "sendgrid": {
      "secretKey": "[sendgrid secret key]",
      "templates": {
        "templateName": "[templateId]"
      },
      "sandboxMode": true,
      "defaults": {
        "fromEmail": "noreply@yourwebsite.com",
        "fromName": "Pablo Escobar",
        "replyTo": "contact@yourwebsite.com"
      }
    }
  }
}
MailChimp Config
{
  "email": {
    "processor": "mailchimp",
    "mailchimp": {
      "secretKey": "[mailchimp api key]",
      "mandrill": "[mandrill api key]"
      }
    },
    "defaults": {
      "fromEmail": "noreply@yourwebsite.com",
      "fromName": "Justin Tucker",
      "replyTo": "contact@yourwebsite.com"
    }
}

SendGrid Send obj config(default listed below)

{
    "fromEmail": "noreply@domain.com",
    "fromName": "The Ghost Team",
    "toEmail": "noreply@domain.com",
    "toName": "Test User",
    "subject": "Test Email",
    "substitutions": {
      "url": "http://test.com",
      "name": "Test User"
    }
}

MailChimp Send obj config(default listed below)

{
    "fromEmail": "noreply@domain.com",
    "fromName": "The Ghost Team",
    "toEmail": "noreply@domain.com",
    "toName": "Test User",
    "replyTo": "noreply@domain.com",
    "subject": "Test Email",
    "globalMergeVars": {
      "url": "http://test.com",
      "name": "Test User"
    }
}

Models

Sendgrid

The module will attempt to load the mail send services provided in the config object assuming a valid secret key and template id's, along with the sandbox setting. All templates will be available via the send(templateName, obj) method.

MailChimp

The module will attempt to load the mail send services provided in the config object assuming a valid secret key and mandrill key. All templates will be available via the send(templateName, obj) method.

See examples below.

Follow the steps below to get the module up and running.

1. Require

const GhostEmail = require('ghost-email-service');

2. Instantiate

const EmailService = new GhostEmail(config)
// See config above

3. Send Email

Sendgrid

The template name should correspond to a template id within the config object

MailChimp

The template name should correspond to a template found within your mailchimp templates

EmailService.send('templateName',obj)
.then(result => { ... })
.catch(err => { ... });
// See obj above

Project Statistics

Sourcerank 4
Repository Size 18.6 KB
Stars 1
Forks 0
Watchers 3
Open issues 0
Dependencies 96
Contributors 3
Tags 0
Created
Last updated
Last pushed

Top Contributors See all

philghost Jon Tate pwerth

Packages Referencing this Repo

ghost-email-service
nodejs client to interact with the sendgrid and mailchimp apis
Latest release 2.0.0 - Updated - 1 stars

Something wrong with this page? Make a suggestion

Last synced: 2017-11-20 21:33:27 UTC

Login to resync this repository