email-cg-lib
Advanced tools
Comparing version 1.0.8 to 1.0.9
let nodemailer = require('nodemailer'); | ||
const {constants, helpers} = require('utils-nxg-cg'); | ||
const {objecteMailReq,objecteMailOpt} = require('./objects'); | ||
const { constants, helpers } = require('utils-nxg-cg'); | ||
const { objecteMailReq, objecteMailOpt } = require('./objects'); | ||
module.exports.email = async (msg, cfg, test = false) => { | ||
return new Promise(async (resolve, reject) => { | ||
let transporter=null; | ||
let transporter = null; | ||
try { | ||
const {data} = msg; | ||
const { data } = msg; | ||
let properties = {...objecteMailReq}; | ||
let extraProp = {...objecteMailOpt}; | ||
let properties = { ...objecteMailReq }; | ||
let extraProp = { ...objecteMailOpt }; | ||
if (!test && !data) {throw new Error(`${constants.ERROR_PROPERTY} data`);} | ||
if (!test && !data) { throw new Error(`${constants.ERROR_PROPERTY} data`); } | ||
@@ -21,3 +21,3 @@ const valid = await helpers.validProperties(properties, data, cfg); | ||
await helpers.validProperties(extraProp, data, cfg, true); | ||
properties = {...properties, ...extraProp}; | ||
properties = { ...properties, ...extraProp }; | ||
@@ -32,6 +32,10 @@ transporter = nodemailer.createTransport({ | ||
tls: { | ||
ciphers:'SSLv3' | ||
ciphers: 'SSLv3' | ||
} | ||
}); | ||
if (helpers.validateBase64(properties.content)) { | ||
properties.content = helpers.convertToObject(properties.content); | ||
} | ||
const mailOptions = { | ||
@@ -41,14 +45,15 @@ from: properties.from, | ||
subject: properties.subject, | ||
text: properties.content | ||
text: JSON.stringify(properties.content) | ||
}; | ||
await transporter.sendMail(mailOptions, function(error, info){ | ||
if (error) {return reject(error);} | ||
await transporter.sendMail(mailOptions, function (error, info) { | ||
if (error) { return reject(error); } | ||
else { | ||
if(!helpers.isObjectValid(info)){ | ||
if (!helpers.isObjectValid(info)) { | ||
throw Error(constants.ERROR_JSON_FORMAT); | ||
} | ||
else{ | ||
return resolve({response:'Mail sended: ' + info.response});} | ||
else { | ||
return resolve({ response: 'Mail sent: ' + info.response }); | ||
} | ||
} | ||
}); | ||
@@ -58,5 +63,5 @@ } | ||
catch (e) { | ||
reject(e); | ||
reject(e); | ||
} | ||
finally{ | ||
finally { | ||
transporter.close(); | ||
@@ -63,0 +68,0 @@ } |
{ | ||
"name": "email-cg-lib", | ||
"version": "1.0.8", | ||
"version": "1.0.9", | ||
"description": "Email to send emails with basic information.", | ||
@@ -16,4 +16,3 @@ "main": "index.js", | ||
"CloudGen", | ||
"NexGen", | ||
"components" | ||
"NexGen" | ||
], | ||
@@ -23,6 +22,5 @@ "author": "Jafet Malvaez Lopez <jafet.malvaez@cloudgensys.com> (https://www.cloudgensys.com/)", | ||
"dependencies": { | ||
"msgbroker-nxg-cg": "^0.1.0", | ||
"nodemailer": "^6.7.5", | ||
"utils-nxg-cg": "^1.0.10" | ||
"utils-nxg-cg": "^1.1.19" | ||
} | ||
} |
6653
2
84
- Removedmsgbroker-nxg-cg@^0.1.0
Updatedutils-nxg-cg@^1.1.19