mailer: cambio email destinatario cuando no es production

This commit is contained in:
Vicente Falco 2017-08-30 14:10:43 +02:00
parent c3707cc1eb
commit 0656fea23b
5 changed files with 15 additions and 48 deletions

View File

@ -1,5 +1,5 @@
var mysql = require('mysql'); var mysql = require('mysql');
var settings = require('./settings.js'); let settings = require('./settings.js');
module.exports = { module.exports = {
/** /**
@ -20,5 +20,10 @@ module.exports = {
console.log('Database connection stablished'); console.log('Database connection stablished');
} }
}); });
},
testEmail: function() {
this.pool.query('SELECT fakeEmail as email FROM vn.config', function(error, qryRs) {
settings.testEmail = qryRs[0].email;
});
} }
}; };

View File

@ -1,13 +1,11 @@
var nodemailer = require('nodemailer'); var nodemailer = require('nodemailer');
var settings = require('./settings.js'); var settings = require('./settings.js');
var path = require('path');
/** /**
* Módulo para el envío de emails * Módulo para el envío de emails
*/ */
module.exports = { module.exports = {
transporter: null, transporter: null,
/** /**
* Si todavía no está inicializada la configuración, * Si todavía no está inicializada la configuración,
* carga el fichero de configuración. * carga el fichero de configuración.
@ -37,6 +35,10 @@ module.exports = {
attachments attachments
}; };
if (process.env.NODE_ENV !== 'production'){
mailOptions.to = settings.testEmail;
}
this.transporter.sendMail(mailOptions, (error, info) => { this.transporter.sendMail(mailOptions, (error, info) => {
if (error) { if (error) {
return cb(null, 'Email not sent: ' + error); return cb(null, 'Email not sent: ' + error);

View File

@ -37,5 +37,9 @@ module.exports = {
*/ */
mysql: function() { mysql: function() {
return this.getConfig('mysql'); return this.getConfig('mysql');
},
testEmail: function() {
return this.getConfig('app').testEmail;
} }
}; };

View File

@ -26,6 +26,7 @@ app.start = function() {
var servicePath = 'http://' + listener.address().address + ':' + listener.address().port; var servicePath = 'http://' + listener.address().address + ':' + listener.address().port;
mail.init(); mail.init();
database.init(); database.init();
database.testEmail();
console.log('Web server ' + settings.app().name.toUpperCase() + ' listening at: ' + servicePath); console.log('Web server ' + settings.app().name.toUpperCase() + ' listening at: ' + servicePath);
console.log('Browse your REST API at: ' + servicePath + '/mailer'); console.log('Browse your REST API at: ' + servicePath + '/mailer');
if (settings.app().debug) { if (settings.app().debug) {

View File

@ -1,45 +0,0 @@
var path = require('path');
/**
* Módulo de configuración
*/
module.exports = {
/**
* Obtiene la configuración en función del entorno en el que se está
* ejecutando la aplicación.
* @param {String} name Nombre del fichero
* @return {Object} Objeto de configuración
*/
getConfig: function(name) {
let env = process.env.NODE_ENV;
if (!env)
env = 'development';
return require(path.join(__dirname, 'config', `${name}.${env}.json`));
},
/**
* Configuración de la aplicación
* @return {Object} Objeto de configuración app
*/
app: function() {
return this.getConfig('app');
},
/**
* Configuración de smtp
* @return {Object} Objeto de configuración smtp
*/
smtp: function() {
return this.getConfig('smtp');
},
/**
* Configuración de mysql
* @return {Object} Objeto de configuración MySQL
*/
mysql: function() {
return this.getConfig('mysql');
}
};