node package manager
Easy sharing. Manage teams and permissions with one click. Create a free org »

hof-emailer

HOF Emailer

An emailer service for HOF applications.

Installation

$ npm install hof-emailer --save

Usage

// first create an emailer instance
const Emailer = require('hof-emailer');
const emailer = new Emailer({
  from: 'sender@example.com',
  transport: 'smtp',
  transportOptions: {
    host: 'my.smtp.host',
    port: 25
  }
});
 
// then you can use your emailer to send emails
const to = 'recipient@example.com';
const body = 'This is the email body';
const subject = 'Important email!'
emailer.send(to, body, subject)
  .then(() => {
    console.log(`Email sent to ${to}!`);
  });

Options

  • from: : Address to send emails from. Required.
  • transport: : Select what mechanism to use to send emails. Defaults: 'smtp'.
  • transportOptions: : Set the options for the chosen transport, as defined below. Required.
  • layout: : Optional path to use a custom layout for email content.

Transports

The following transport options are available:

smtp

nodemailer-smtp-transport

Options

  • host : Address of the mailserver. Required.
  • port <String|Number>: Port of the mailserver. Required.
  • ignoreTLS : Defaults to false.
  • secure : Defaults to true.
  • auth.user : Mailserver authorisation username.
  • auth.pass : Mailserver authorisation password.

ses

nodemailer-ses-transport

Options

  • accessKeyId : AWS accessKeyId. Required.
  • secretAccessKey : AWS accessKeyId. Required.
  • sessionToken
  • region . Defaults to 'eu-west-1'.
  • httpOptions
  • rateLimit
  • maxConnections

debug

Options

A development option to write the html content of the email to a file for inspection.

  • dir : The location to save html to. Default: ./.emails. This directory will be created if it does not exist.
  • open : If set to true, will automatically open the created html file in a browser.

stub

Disables sending email. No options are required.