ee-ts-util
Version:
typescript utilities and functions
42 lines • 1.44 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const nodemailer = require("nodemailer");
const log4js = require("log4js");
exports.buildEmailAdapter = (smtpConfig) => (email) => {
// TODO : Think if we want to create a createTransporter everytime
// Or like mongo connection we should create only once
const log = log4js.getLogger();
const transporter = createTransporter(smtpConfig);
const mailOptions = buildMailOptions(email);
return transporter.sendMail(mailOptions).then((sentMessageInfo) => {
log.info("Email sent status " + JSON.stringify(sentMessageInfo));
return (sentMessageInfo.accepted.length >= 1 ? Promise.resolve(true) : Promise.resolve(false));
});
};
const buildMailOptions = (email) => {
const mailOptions = {
from: email.from,
to: email.to,
subject: email.subject,
text: email.body,
};
if (email.attachmentName) {
mailOptions.attachments = [
{
filename: email.attachmentName,
content: email.attachmentContent,
},
];
}
return mailOptions;
};
const createTransporter = (smtpConfig) => (nodemailer.createTransport({
host: smtpConfig.server,
port: smtpConfig.port,
debug: true,
auth: {
user: smtpConfig.userName,
pass: smtpConfig.password,
},
}));
//# sourceMappingURL=emailAdapter.js.map