const express = require('express') var app = express(); var fs = require('fs'); var path = require('path'); const nodemailer = require("nodemailer"); 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{ await sendEmail(nombre, correo, mensaje); console.log('Email sent successfully'); response.status(200).json({error:false, msj: 'Correo enviado exitosamente'}) } catch{ console.log(`error al mandar correo`); response.status(400).json({error: true, msj: 'No se pudo enviar el correo'}); return; } }); module.exports = app;