All files / node-user-accounts-boilerplate-nahid/email SESEmailSender.js

0% Statements 0/9
100% Branches 0/0
0% Functions 0/2
0% Lines 0/9

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50                                                                                                   
"use strict";
 
const EmailSender = require('./EmailSender');
const AWS = require('aws-sdk');
const callback = require('../helper/callback');
 
/**
 * Send email using AWS SES.
 * 
 * Requires ```aws-sdk``` package.
 */
class SESEmailSender extends EmailSender
{
  constructor(region)
  {
    super();
    AWS.config.update({
      region
    });
    this.ses = new AWS.SES({
      apiVersion: '2010-12-01'
    });
  }
 
  sendImplementation(to, from, subject, body)
  {
    const packet = {
      Source: from,
      Destination: {
        ToAddresses: [to]
      },
      Message: {
        Subject: {
          Data: subject
        },
        Body: {
          Html: {
            Data: body,
          }
        }
      }
    };
 
 
    return callback(this.ses.sendEmail.bind(this.ses), packet);
  }
}
 
module.exports = SESEmailSender;