t-ho
Mar 01, 2020
Mar 13, 2022
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