diff --git a/routes/email.js b/routes/email.js index 890d63c..e60dbee 100644 --- a/routes/email.js +++ b/routes/email.js @@ -6,44 +6,57 @@ var fs = require('fs'); var path = require('path'); const nodemailer = require("nodemailer"); -app.post('/email', function(request, response){ +async function sendEmail( nombre, correo, mensaje ) { + + // Generate test SMTP service account from ethereal.email + // Only needed if you don't have a real mail account for testing + let testAccount = await nodemailer.createTestAccount(); + + // create reusable transporter object using the default SMTP transport + let transporter = nodemailer.createTransport({ + service: "Gmail", + port: 587, + secure: false, // true for 465, false for other ports + auth: { + user: 'editoriales@acatlan.unam.mx', // generated ethereal user + pass: '3d1t0r14l35@2019' + }, + }); + + // send mail with defined transport object + let info = await transporter.sendMail({ + from: `${nombre} from ${correo} <${correo}>` , // sender address + to: `editoriales@acatlan.unam.mx`, // list of receivers + subject: "Contacto Portal Acatlan", // Subject line + text: ` + Usuario: ${nombre} + Correo electrónico: ${correo} + + ${mensaje} + `, // plain text body + + + }); + + console.log("Message sent: %s", info.messageId); + // Message sent: + + // Preview only available when sending through an Ethereal account + console.log("Preview URL: %s", nodemailer.getTestMessageUrl(info)); + // Preview URL: https://ethereal.email/message/WaQKMgKddxQDoou... +} + + +app.post('/email', async function(request, response){ let {nombre} = request.body let {correo} = request.body let {mensaje} = request.body try{ - let mailTransporter = nodemailer.createTransport({ - service: 'gmail', - port: 587, - secure: false, // true for 465, false for other ports - auth: { - user: 'editoriales@acatlan.unam.mx', - pass: '3d1t0r14l35@2019' - } - }); - - let mailDetails = { - from: `${nombre} from ${correo} <${correo}>` , - to: 'editoriales@acatlan.unam.mx', - subject: 'Portal Contacto', - text: ` - Usuario: ${nombre} - Correo electrónico: ${correo} - - ${mensaje} - ` - }; - - mailTransporter.sendMail(mailDetails, function(err, data) { - if(err) { - console.log('Error Occurs',err.message); - response.status(400).json({error: true, msj: 'No se pudo enviar el correo'}); - } else { - console.log('Email sent successfully'); - response.status(200).json({error:false, msj: 'Correo enviado exitosamente'}) - } - }) + + + await sendEmail(nombre, correo, mensaje); } catch{ console.log(`error al mandar correo`);