Skip to content

The Sendgrid wrapper helps to send an email with a dynamic template stored on disk.

License

Notifications You must be signed in to change notification settings

t-ho/sendgrid-template-helper

Repository files navigation

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 follow:

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: "[email protected]",
    from: "[email protected]",
    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 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

About

The Sendgrid wrapper helps to send an email with a dynamic template stored on disk.

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Languages