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.
Install sendgrid-template-helper
via NPM:
npm install --save sendgrid-template-helper
# or
yarn add sendgrid-template-helper
Create your Sendgrid API Key from SendGrid
In your development environment, export your Sendgrid API Key as follow:
export SENDGRID_API_KEY=YOUR_API_KEY
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.
Property Name | Type | Description |
---|---|---|
apiKey |
string | SendGrid API Key |
prefix |
string | The prefix used as namespace to create template name. |
# Export your SendGrid API Key
export SENDGRID_API_KEY=YOUR_API_KEY
# Run all tests
npm test