react-ses-helper

1.0.8 • Public • Published

react-ses-helper

A helper library for the Simple Email Service, integrates with AWS SDK

NPM JavaScript Style Guide

Install

npm install --save react-ses-helper

Then install the dependencies.

Dependencies

npm install --save aws-sdk

Then review the AWS configuration

Configuration

AWS SES Sender Receiver

The sender (source) email address should be configured and verified. If SES is in sandbox mode, the receiver email address(es) should also be configured and verified. A test email should be sent from the SES console and ensured that the intended receiver receives it.

AWS SES Template

This is required if you are planning to send templated emails. An html template should be created. As of July 22, SES console does not support adding email templates. They can only be done through the apis. Best way is to do it via aws command line interface.

AWS Credentials

AWS region, secret and access key form the credentials. These are required to use this package. It is crucial that these credentials are given the SES email sending permissions, otherwise the emails will not be sent.

You can now review the functionality below.

Functionality

/*

region: aws region
secret: aws secret
key: aws access key
subject: subject of email
source: source email (needs to be configured in aws ses)
destinationToArr: array of destination emails
destinationCCArr: array of emails to be cced
htmlBody: html body
textBody: text body
replyToArr: array to reply to email addresses
template: name of template that is configured in aws ses
templateData: json string representation of key value pairs that are the template data

*/

sendEmail(region, secret, key, subject, source, destinationToArr, destinationCCArr, htmlBody, textBody, replyToArr) {}

sendTemplatedEmail(region, secret, key, source, destinationToArr, destinationCCArr, templateName, templateData, replyToArr) {}

Usage

import React, { useEffect } from 'react'
import * as SesHelper from 'react-ses-helper'

const App = () => {

  useEffect(() => {
    async function sendEmail() {
      
      SesHelper.sendEmail("aws_region", "aws_secret", "aws_key", "Test Subject", "supe*******@**ail.com", ["hrus*******@**ail.com"], [], "HTML Body", "Text Body", [])
  
    }
    sendEmail();
  }, [])

  useEffect(() => {
    async function sendTemplatedEmail() {
      
      SesHelper.sendTemplatedEmail("aws_region", "aws_secret", "aws_key", "su******@***il.com", ["hr*******ndale@**ail.com"], [], "TemplateOtp1", "{\"project\": \"superflows\", \"name\": \"Hrushikesh\", \"otp\": \"1313\"}", [])
  
    }
    sendTemplatedEmail();
  }, [])

  return <div>Hello SES Helper</div>

}

export default App

License

MIT © superflows-dev

Package Sidebar

Install

npm i react-ses-helper

Weekly Downloads

6

Version

1.0.8

License

MIT

Unpacked Size

70.9 kB

Total Files

7

Last publish

Collaborators

  • superflows-dev