SENDGRID-TEMPLATE-HELPER

The SendGrid wrapper helps to send an email with a dynamic template.

Source Code

npm version Node.js CI code style: prettier license

sendgrid-template-helper

The Sendgrid wrapper helps to send an email with a dynamic template stored on disk. It tries to create a dynamic template on the Sendgrid server via Sendgrid API v3, then caches the template ID locally for later uses.

Installation

Install sendgrid-template-helper via NPM:

npm install --save sendgrid-template-helper
# or
yarn add sendgrid-template-helper

Obtain a Sendgrid API Key

Create your Sendgrid API Key from SendGrid

Setup Environment variables

In your development environment, export your Sendgrid API Key as following:

export SENDGRID_API_KEY=YOUR_API_KEY

Send email

To send an email with dynamic email template (template is on your disk):

const path = require('path');
const Email = require('sendgrid-template-helper');

const settings = {
  apiKey: process.env.SENDGRID_API_KEY,
  prefix: 'your_app_name_'
};

const email = new Email(settings);

email
  .send({
    to: 'user@tdev.app',
    from: 'admin@tdev.app',
    subject: `[Test] Sendgrid template helper`,
    templatePath: path.resolve(__dirname, './dynamic-email-template.html'), // absolute path to your template
    dynamicTemplateData: {
      // your dynamic template data
      username: 'user'
    }
  })
  .then(() => {})
  .catch(console.log);

For more use cases, please see Sendgrid use cases.

Email settings

Property Name Type Description
apiKey string SendGrid API Key
prefix string The prefix used as a namespace to create template name.

Testing

# Export your SendGrid API Key
export SENDGRID_API_KEY=YOUR_API_KEY

# Run all tests
npm test

License

MIT © t-ho