Skip to content

paralect/email-service

Repository files navigation

Email service

Stack

All Contributors npm version license PRs Welcome Build Status David Dependancy Status Coverage Status

Watch on GitHub Star on GitHub Follow Tweet

Email service is using mailgun node client to send emails. We are inspired by mjml project. So, you can use mjml in your project and after compiling templates to simple html files use our project to inject params by handlebars and send emails. Let's dive into the docs.

Installation

npm i @paralect/email-service

Quick example

To create a MailService class you should provide several params to its constructor

const MailService = require('@paralect/email-service');

const mailService = new MailService({
  isSendEmail: false, // you can prevent email sending by this param
  savedEmailHtmlPath: __dirname, // if you want to save your email as html in development mode
  mailgun: {  // configs for https://www.npmjs.com/package/mailgun-js
    apiKey: 'test',
    domain: 'test.info',
  },
  templatesDir: __dirname, // absolute path to templates directory
});

After that you are able to run send method with several params

const result = await mailService.send(
  'email.html',
  { name: 'User name' },
  {
    from: 'Excited User <me@samples.mailgun.org>',
    to: 'test@test.com',
    subject: 'Test email',
  }
);

Full API Reference

API Reference.

Change Log

This project adheres to Semantic Versioning. Every release is documented on the Github Releases page.

License

Email-service is released under the MIT License.

Contributing

Please read CONTRIBUTING.md for details on our code of conduct, and the process for submitting pull requests to us.

Contributors

Thanks goes to these wonderful people (emoji key):


KuhArt

💻 📖 🤔 🎨

Evgeny Zhivitsa

💻 📖

This project follows the all-contributors specification. Contributions of any kind welcome!