var nodemailer = require('nodemailer'); var settings = require('./Settings.js'); var logger = require('./Logger.js'); // Módulo para el envío de emails module.exports = { transporter: null, /** * Si todavía no está inicializada la configuración, * carga el fichero de configuración. */ init: function() { this.transporter = nodemailer.createTransport(settings.smtp); this.transporter.verify(function(error, success) { if (error) { logger.print(__LOG_ERROR, error); } else { logger.print(__LOG_INFO, 'Conexión SMTP establecida'); } }); }, /** * Envia un email con los datos recibidos desde un vector. * @param {Object} data - Datos para el envío del email */ send: function(data) { let mailOptions = { from: '"' + settings.senderName + '" <' + settings.senderMail + '>', to: data.recipient, subject: data.subject, html: data.body }; this.transporter.sendMail(mailOptions, (error, info) => { if (error) { logger.print(__LOG_ERROR, error); } else if (Settings.debug) { logger.print(__LOG_INFO, 'Se ha enviado el email ' + info.messageId + ' [' + info.response + ']'); return true; } }); }, }