README
Installation
npm install v1-email-helper
Creating an v1-email-helper object
Basic email helper for working with Sparkpost. You should have SPARKPOST_URL and SPARKPOST_API_KEY defined in your local environment.
import { EmailHelper, iBody } from "v1-email-helper";
const emailHelper = new EmailHelper('SPARKPOST_URL', 'SPARKPOST_API_KEY', 'TEMPLATE_PATH OR BLANK');
Methods
Note: The following 3 methods can be used to generate html for module send requests.
- markdownToHtml(mdText: string)
- nunjucksToHtml(templatePath: string, props: any)
- nunjucksStringToHtml(templateStr: string, props: any)
Note: The following 1 method is used to send generated htnl.
- send(body: iBody)
The send body must be structured as follows attachments is optional
interface iRecipient {
address: string;
}
interface iAttachment {
type: string;
name: string;
data: string;
}
interface iContent {
from: string;
subject: string;
html: string;
attachments?: Array<iAttachment>;
}
interface iBody {
recipients: Array<iRecipient>;
content: iContent;
}
Basic usage example
import { EmailHelper, iBody } from "v1-email-helper";
const emailHelper = new EmailHelper('SPARKPOST_URL', 'SPARKPOST_API_KEY', 'TEMPLATE_PATH OR BLANK');
const markdown = "** this is some markdown";
const html = emailHelper.markdownToHtml(markdown);
const body: iBody = {
recipients: [{ address: "john@doe.net" }],
content: {
from: "jane@doe.net",
subject: "Test message",
html: html:
attachments: [
{ type: "application/json", name: "somename", data: "somedata"}
]
}
}
emailHelper.send(body);
Development
*Note: You MUST run build command to ensure you're lastest updates are available in the /lib directory for any process using this repo. *
// code changes, add and commit ...
git add/commit ...
// Now build against new updates, then add/commit new /lib
npm run build
git add/commit /lib
git push ...