Skip to content

Tool of mail merge, which takes {{mustache}} email templates and data from json or csv to generate and bulk send emails

License

Notifications You must be signed in to change notification settings

leodinas-hao/mail-merger

Repository files navigation

mail-merger

NPM version Downloads

Tool of mail merge, which takes {{mustache}} email templates and data from json or csv to generate and bulk send emails.

Features

  • Generates emails from html templates based on handlebars
  • Sends emails via NodeMailer
  • Parse data defined in csv file and/or json as the context of emails
  • Merge/combine multiple lines of rows in csv into one big record with array properties
  • Use in your scripts and/or CLI
  • Supports .env file for security related settings (i.e. SMTP connection url with your username & password)

Installation

npm install mail-merger --save

Usage

CLI

## use `mail-merger --help` for more details
$ mail-merger -c=./data.csv -t=./sample.html -a=./img1.png -a=./img2.png

API

import { MailMerger } from 'mail-merger';

// refer to `defaults.ts` for all details of the options
const merger = new MailMerger(opts);
// refer to `mail-merger.spec.ts` for more details
const summary = await merger.send(context, template, mailOpts);

console.info(`[${summary.sent}] out of [${summary.total}] emails were sent out successfully!`);

NOTE

Please ensure change smtps variable to your SMTP settings prior running tests

Example

Please refer to the test files cli.spec.ts and mail-merger.spec.ts in the source code

License

MIT

About

Tool of mail merge, which takes {{mustache}} email templates and data from json or csv to generate and bulk send emails

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published