UNPKG

@gravitywelluk/aws

Version:

Library of commonly used AWS wrapper functions to communicate with the AWS SDK

43 lines (42 loc) 1.36 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.sendEmailWithAttachment = void 0; const nodemailer_1 = require("nodemailer"); const ses_configure_1 = require("./ses-configure"); const aws_error_1 = require("../utils/aws-error"); /** * sends a templated email * * @param fileName string * @param body any * @returns promise with the output * @memberof AwsSESService */ const sendEmailWithAttachment = (mailOptions, configOverrides = {}) => { return new Promise((resolve, reject) => { let ses; try { ses = (0, ses_configure_1.sesConfigure)(configOverrides); } catch (error) { return reject(new aws_error_1.AwsError(error)); } try { // Create Nodemailer SES transporter. const transporter = (0, nodemailer_1.createTransport)({ SES: ses }); // Send email transporter.sendMail(mailOptions, (error, info) => { if (error) { return reject(new Error("Error transporter sending email")); } else { return resolve(info); } }); } catch (error) { return reject(error); } }); }; exports.sendEmailWithAttachment = sendEmailWithAttachment;