Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

178
Vistas
Publicación de correo electrónico de Nodemailer pero dice pendiente

Estoy tratando de usar Nodemailer en una aplicación React/Express en la que estoy trabajando y en el servidor dice que está publicando, pero en la pestaña de red se muestra como pendiente y luego nunca pasa. Aquí está mi código:

 const express = require('express'); const router = express.Router(); const nodemailer = require('nodemailer'); require("dotenv").config(); // router.get('/', () => { // resizeBy.send('Welcome to my email form') // }); module.exports = () => { router.post('/', (req, res) => { console.log("inside event handler") let transporter = nodemailer.createTransport({ service: 'Gmail', port: 465, auth: { user: process.env.EMAIL, pass: process.env.PASSWORD } }); let mailOptions = { from: process.env.EMAIL, to: `${req.body.values.email}`, subject: `Message from: ${process.env.EMAIL}`, html: ` <h3>Information</h3> <ul> <li>Name: ${req.body.values.name}</li> <li>Email: ${req.body.values.email}</li> </ul> <h3>Message</h3> <p>${req.body.values.message}</p> ` } transporter.sendMail(mailOptions, (err, response) => { if (err) { res.send(err) console.log("Error happened in send email", err) } else { res.send('Success! Message sent!') console.log("Message sent") } }) transporter.close(); }) return router; }
about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

Parece que no necesita usar transporter.close() ya que no está agrupando conexiones. Usarlo en este contexto es probablemente tu problema.

transporter.sendMail() es asíncrono, por lo que está enviando correo y luego cerrándolo inmediatamente con transporter.close() . Esto significa que la devolución de llamada de sendMail no se activa, lo que a su vez significa que res.send() nunca se envía, lo que da como resultado una solicitud http interminable y pendiente para su cliente.

Sugiero eliminar la línea transporter.close() y volver a intentarlo.

about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda