@gravitywelluk/aws
Version:
Library of commonly used AWS wrapper functions to communicate with the AWS SDK
43 lines (42 loc) • 1.36 kB
JavaScript
;
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;