← Blog

¡Configura y Envía Correo Electrónico: Node, ¡Todas Tus Preguntas Respondidas!

March 26, 2026
Aprende a enviar correos electrónicos en Node.js usando el módulo Nodemailer, así como a enviar correos HTML, adjuntos e integración con servicios de correo de terceros.
Configura y Envía Correo: Node, ¡Todas tus Preguntas Frecuentes Respondidas!

Configura y Envía Correo: Node, ¡Todas tus Preguntas Frecuentes Respondidas!

El propósito de este tutorial es explicar cómo configurar y enviar correo en Node.js utilizando el módulo Nodemailer.

Los temas cubiertos incluyen configuración de un servidor SMTP, envío de correos HTML, envío de archivos adjuntos, integración con servicios de correo de terceros, y más.

¿Listo para ponerse manos a la obra?🕴️💰
Envía correos transaccionales, de marketing y HTML regulares y archivos adjuntos desde dentro de tus aplicaciones Node.js.

¿Qué es Node.js?

Node.js es un entorno de ejecución de JavaScript de código abierto, multiplataforma, que te permite construir aplicaciones del lado del servidor.

Node.js ha ganado popularidad por su escalabilidad y capacidad de manejar grandes cantidades de datos con facilidad.

Se utiliza en una variedad de aplicaciones, incluyendo servidores web, herramientas de línea de comandos, kits de herramientas del lado del servidor y aplicaciones en tiempo real.

El correo electrónico es un componente esencial de las aplicaciones Node.js. Hay una serie de métodos para enviar correos en Node.js, incluyendo servidores SMTP, servicios de correo de terceros y servicios de API de correo transaccional.

¿Qué es Nodemailer?

Nodemailer es un módulo Node.js popular que te permite enviar mensajes o correos transaccionales desde aplicaciones Node.js.

Para enviar correo en Node.js, puedes usar un servidor SMTP o un servicio de correo de terceros como Gmail.

Para usar Gmail como servidor SMTP, necesitarías configurar la cuenta de Gmail y generar una contraseña de aplicación.

También puedes usar un servicio de API de correo transaccional como SendGrid o Mailgun para enviar correos desde su aplicación Node.js.

Para configurar Nodemailer, necesitas crear un archivo JSON que contenga la configuración del correo. Esto incluye los detalles del servidor SMTP, detalles de autenticación y contenido del correo.

Nodemailer admite el envío de correos HTML y archivos adjuntos, lo que lo convierte en una herramienta versátil para enviar correos desde aplicaciones Node.js.

Para un video rápido sobre cómo enviar correos en Node.js con Nodemailer, mira el siguiente video por OpenJavaScript.

¿Qué es SMTP?

Protocolo Simple de Transferencia de Correo (o SMTP en breve) es un protocolo estándar utilizado para transmitir correo electrónico entre servidores a través de internet. Es el protocolo más común utilizado para la comunicación por correo, incluyendo la entrega de correos del remitente al destinatario y viceversa.

El protocolo funciona utilizando un modelo cliente-servidor de correo, donde el cliente (normalmente el servidor de correo del remitente) inicia una conexión con el servidor de correo del destinatario. El servidor de correo del remitente luego envía el mensaje de correo al servidor de correo del destinatario, que lo entrega al destinatario previsto.

SMTP utiliza un conjunto de comandos para establecer y gestionar la conexión entre los dos servidores de correo, y para transferir el mensaje de correo en sí.

codificador de node.js en un descanso

Para enviar correo desde una aplicación Node.js, puedes usar un servidor SMTP o un servicio de correo transaccional.

Si utilizas un servidor SMTP, las credenciales de la cuenta de correo y los detalles del servidor SMTP (como dirección y puerto) normalmente se almacenan en un archivo de configuración, que luego se referencia en el archivo de entrada de la aplicación.

También puedes usar servicios de correo transaccional para enviar correos, que normalmente requieren crear una cuenta y obtener una clave API. La clave API se utiliza en el editor de código para enviar correos desde la aplicación Node.js.

Cuando se envía un correo usando SMTP, se le asigna una ID de mensaje única por el servidor de correo. Esta ID de mensaje se puede utilizar para rastrear el estado del mensaje de correo, incluyendo si se entregó exitosamente o si la entrega falló.

¿Cómo uso SMTP en Node.js?

Para usar SMTP en Node.js, debes seguir los pasos a continuación:

1. Instala el paquete Nodemailer

Puedes instalar Nodemailer usando npm (Gestor de Paquetes de Node) ejecutando el siguiente comando en tu terminal:

instalación de nodemailer

2. Requiere Nodemailer en tu aplicación Node.js

Después de instalar el paquete Nodemailer, necesitas requerirlo en tu aplicación Node.js, como sigue:

requerir nodemailer

3. Crea un objeto de transporte

El siguiente paso es crear un objeto de transporte que contenga la configuración de tu servidor SMTP. Puedes crear un objeto transportador usando el método createTransport , como sigue:

objeto de transporte de nodemailer

En este ejemplo, estamos usando el servidor SMTP de Gmail, pero puedes reemplazar la configuración con la de tu proveedor de correo.

Necesitas proporcionar el nombre de host, número de puerto y credenciales de autenticación de tu propio servidor SMTP.

4. Crea un mensaje de correo

Después de crear el objeto de transporte, puedes crear el mensaje de correo que deseas enviar. Puedes definir el mensaje de correo utilizando el objeto mailOptions , como sigue:

crear mensaje de nodemailer

En este ejemplo, hemos definido la dirección de correo del remitente, la dirección de correo del destinatario, el asunto del correo y el cuerpo del mensaje en texto plano.

5. Envía el correo

El paso final es enviar el correo usando el objeto de transporte y el método sendMail , como sigue:

enviar correo nodemailer

Este método toma el objeto mailOptions como parámetro, junto con una función de devolución de llamada que se invocará después de que se envíe el correo.

En la función de devolución de llamada, puedes verificar cualquier error que haya ocurrido durante el proceso de envío e iniciar la respuesta en consecuencia.

¿Buscas integrar correo en tus aplicaciones?🤔📧
¡Mailer To Go es un cliente SMTP simplificado que permite envíos sin problemas desde dentro de tus aplicaciones Node!

¿Puede Node.js enviar correo?

Sí, Node.js puede enviar correo usando varios paquetes y módulos disponibles. Uno de los paquetes más comúnmente utilizados para enviar correos en Node.js es Nodemailer. Permite enviar correos usando SMTP, sendmail o incluso Amazon SES.

Usando Nodemailer, puedes enviar correos con archivos adjuntos y contenido HTML, y personalizarlos según tus requisitos. También puedes configurar una lista de correo y enviar correos masivos usando Nodemailer.

Además de Nodemailer, hay otros módulos y paquetes como Mailgun-js, SendGrid y NodeMailin que puedes usar para enviar correo desde una aplicación Node.js.

¿Qué opciones están disponibles para enviar correos en Node.js?

Node.js proporciona a los desarrolladores una variedad de opciones para enviar correos desde sus aplicaciones del lado del servidor. Los dos métodos más populares para enviar correos en Node.js son SMTP y API de correo.

En Node.js, puedes usar SMTP para enviar correo desde aplicaciones conectándote a un servidor SMTP y enviando el mensaje a través de él. SMTP permite a los desarrolladores enviar correo usando una dirección de correo y una contraseña.

Por otro lado, una API de correo (Interfaz de Programación de Aplicaciones) permite a los desarrolladores enviar correos a través de un proveedor de servicios de correo basado en la nube como Mailer To Go, Mailgun, SendGrid o AWS SES.

Con una API de correo, los desarrolladores pueden integrar capacidades de envío de correo directamente en sus aplicaciones sin tener que configurar un servidor SMTP.

Ambos métodos SMTP y API tienen sus ventajas y desventajas. SMTP proporciona más control sobre el proceso de envío de correo, ya que los desarrolladores pueden personalizar cada aspecto del mensaje.

SMTP es a menudo más rápido y confiable que usar una API, sin embargo, SMTP requiere que los desarrolladores configuren y mantengan un servidor SMTP, lo que puede ser tanto desafiante como que requiere mucho tiempo.

Por otro lado, las API de correo transaccional y contextual proporcionan a los desarrolladores una forma más simple de enviar correos al abstraer mucha de la complejidad de SMTP.

Con una API, los desarrolladores pueden enviar correos rápida y fácilmente sin tener que configurar y mantener un servidor SMTP. Sin embargo, las API típicamente vienen con límites de uso y requieren un plan de suscripción o pago para envío de alto volumen.

¿Cómo configuro un Servidor de Correo en una aplicación Node.js?

Como ya sabes, Nodemailer es un módulo Node.js popular que permite a los desarrolladores enviar correos desde sus aplicaciones.

Aquí hay un ejemplo básico de cómo usar Nodemailer para entrega de correo en Node.js.

Primero, necesitas instalar Nodemailer usando npm. Abre tu terminal y ejecuta el siguiente comando:

instalación de nodemailer

Una vez que hayas instalado Nodemailer, puedes crear un nuevo archivo e importar el módulo como sigue:

importación de módulo nodemailer

A continuación, necesitas crear un objeto transportador. Este objeto contiene la información requerida para conectarse al servidor SMTP de tu proveedor de correo:

crear objeto transportador nodemailer

Reemplaza el host, puerto, usuario y contraseña con el servidor SMTP de tu proveedor de correo, número de puerto, dirección de correo y contraseña. Una vez que hayas creado el objeto de transporte, puedes usarlo para enviar un correo como sigue:

actualización del servidor nodemailer

Reemplaza los campos from, to, subject y text con tus propios valores.

Guarda el archivo y ejecútalo usando Node.js como sigue:

nodemailer guardar y ejecutar

Esto enviará un correo desde tu dirección de correo a la dirección de correo del destinatario que especificaste. Si todo está configurado correctamente, deberías ver un mensaje de éxito en la consola.

¿Puedo enviar correos con Node.js usando solo Nodemailer?

Sí, puedes enviar correos usando Node.js exclusivamente con Nodemailer. Nodemailer es un módulo poderoso y versátil que proporciona un conjunto completo de API para enviar mensajes de correo.

Con Nodemailer, puedes configurar correos con múltiples destinatarios, archivos adjuntos, encabezados personalizados y contenido HTML. Nodemailer también admite plantillas de correo que te permiten definir formatos de correo reutilizables para tu aplicación.

Para enviar un correo usando Nodemailer, necesitas crear un objeto de transporte que contenga información sobre el servidor SMTP del proveedor de correo. Esta información incluye el nombre de host, puerto y credenciales de autenticación.

Una vez que crees el objeto de transporte, puedes usarlo para enviar correo proporcionando la información necesaria como el remitente, destinatario, asunto, cuerpo del mensaje y archivos adjuntos.

Aquí hay un ejemplo de cómo enviar un correo usando Nodemailer:

enviar correo nodemailer

En este ejemplo, usamos el servidor SMTP de Gmail para enviar un correo. Puedes reemplazar la configuración del servidor SMTP con la del proveedor de correo que prefieras usar.

Este ejemplo envía correos de prueba con contenido tanto de texto plano como HTML.

¿Cómo envío correos HTML con Nodemailer?

Las plantillas HTML y los correos HTML son una excelente forma de hacer que los correos sean más visualmente atractivos y atractivos para el destinatario.

Para enviar correos HTML usando Nodemailer, puedes crear plantillas de correo HTML que incluyan texto, imágenes, enlaces y otros elementos de formato.

Puedes usar herramientas como editores de código y clientes de correo para crear las plantillas, o puedes usar plantillas preconstruidas que están disponibles en fuentes de terceros.

Para configurar plantillas de correo HTML, crea un directorio separado en tu directorio de proyecto para las plantillas de correo. Luego puedes crear archivos HTML para cada plantilla de correo y agregar el HTML, CSS y otro contenido necesario a los archivos.

manos ocupadas

También puedes usar marcadores de posición en los archivos HTML para insertar dinámicamente contenido como el nombre del destinatario, detalles de cuenta u otra información personalizada.

Una vez que las plantillas de correo HTML estén configuradas, puedes usar el módulo Nodemailer para enviar correos HTML a través del método sendMail() .

Puedes crear un objeto de mensaje de correo que incluya la dirección de correo del destinatario, el asunto del correo y el cuerpo del correo, que incluye la plantilla de correo HTML.

También puedes probar correos enviándolos a una cuenta de correo de prueba para asegurar que los correos se muestren correctamente.

¿Cómo envío archivos adjuntos de correo con Nodemailer?

En la comunicación por correo, los archivos adjuntos son archivos que se envían junto con el mensaje de correo.

Los archivos adjuntos son una característica importante de la comunicación por correo porque permiten a los usuarios compartir archivos que son demasiado grandes para ser enviados por otros medios, como servicios de intercambio de archivos o medios físicos.

Hay varios tipos de archivos adjuntos que se pueden enviar por correo, pero los tipos más comunes de archivos adjuntos incluyen:

  • Archivos de documento - estos pueden ser cualquier tipo de archivo de documento, como un documento de Microsoft Word, archivo PDF o archivo de texto.

  • Archivos de imagen - estos pueden ser cualquier tipo de archivo de imagen, como un archivo JPEG, PNG o GIF.

  • Archivos de audio - estos pueden ser cualquier tipo de archivo de audio, como un archivo MP3 o WAV.

  • Archivos de video - estos pueden ser cualquier tipo de archivo de video, como un archivo MP4 o AVI.

Para enviar archivos adjuntos usando Nodemailer, puedes usar el método attach() para agregar archivos adjuntos al objeto de mensaje de correo.

Puedes especificar la ruta al archivo y el nombre del archivo, así como el tipo de contenido del archivo. También puedes agregar múltiples archivos adjuntos a un solo correo llamando al método attach() varias veces.

Por ejemplo, el siguiente código (escrito en Vbnet) demuestra cómo enviar un correo con un archivo adjunto usando Nodemailer:

enviar archivos adjuntos nodemailer

Al agregar archivos adjuntos al objeto de mensaje de correo usando el método attach() de Nodemailer, puedes enviar fácilmente correos con archivos adjuntos en tus aplicaciones Node.js.

¿Cómo envío correos con Mailer To Go?

Mailer To Go es una biblioteca ligera de envío de correo para Node.js que proporciona una interfaz fácil de usar para enviar mensajes de correo.

Admite el envío de correos tanto en texto plano como HTML, así como la adición de archivos adjuntos a los mensajes de correo enviados desde tu aplicación Node.js.

Mailer To Go proporciona una solución simple y ligera para enviar mensajes de correo en aplicaciones Node.js, con soporte para texto plano, HTML y archivos adjuntos.

Para enviar correos usando Mailer To Go, primero necesitas instalar la biblioteca ejecutando el siguiente comando en tu directorio de proyecto Node.js:

enviar correos de node con MTG

Una vez instalado, puedes usar Mailer To Go en tu aplicación Node.js requiriendo la biblioteca y creando una instancia de la clase Mailer.

Luego puedes configurar los parámetros de correo y los detalles del mensaje usando los métodos proporcionados por la clase Mailer.

Por ejemplo, el siguiente código demuestra cómo enviar un simple correo de texto plano usando Mailer To Go:

correo txt de node mtg

En este ejemplo, se crea una instancia de la clase Mailer con la configuración de correo, incluyendo el host SMTP, puerto y detalles de autenticación.

Luego se crea el objeto de mensaje con los detalles del correo, incluyendo el remitente, destinatario, asunto y contenido de texto plano.

Finalmente, el mensaje se envía usando el método send() de la instancia de Mailer, con un enfoque basado en promesas para manejar errores.

Ahora que has configurado correo para Node con Mailer To Go, ¿por qué no exploras nuestros artículos para mejorar tu entrega de correo, descubre la diferencia entre correos transaccionales y masivos, previene el bombardeo de suscripción, ¿y más?

codificadores azules ocupados

Para concluir

Ahora que hemos cubierto conocimientos básicos sobre cómo enviar correos a través de Node.js y el servicio de correo Mailer To Go, deberías estar listo para enviar correo desde tu aplicación web con confianza y habilidad.

Si tienes alguna pregunta sobre este tema o cómo comenzar, por favor comunícate con nosotros a través del chat, ¡y estaremos felices de guiarte u ofrecerte más información! ¡Gracias por leer!

¡Acerca de Mailer To Go! 📬
Envía todo tipo de correo desde dentro de tus aplicaciones con el servicio de correo más simple, rápido y mejor de Mailer To Go.


Preguntas frecuentes

¿Qué significa enviar un correo con Node.js?

Enviar un correo con Node.js significa usar Node.js, un entorno de ejecución de JavaScript basado en el motor V8 de Chrome, para enviar correos programáticamente desde un servidor. Esto se realiza típicamente usando un módulo de Node.js como Nodemailer, que simplifica el proceso de envío de correos.

¿Cómo puedo enviar un correo con Node.js?

Para enviar un correo con Node.js, puedes usar un módulo como Nodemailer. Aquí están los pasos generales:

  1. Instala Nodemailer a través de npm (Gestor de Paquetes de Node).

  2. Inclúyelo en tu aplicación web.

  3. Crea un transportador de Nodemailer, que es un objeto que envía correos usando un protocolo de transporte específico.

  4. Establece las opciones del mensaje, como la dirección de correo del remitente, la dirección de correo del destinatario, el asunto y el cuerpo del correo.

  5. Usa la función sendMail() para enviar el correo.

Si estás usando un servicio de correo transaccional como Mailer To Go, es posible que proporcionen herramientas y soporte adicionales para ayudarte a enviar correos con Node.js.

¿Qué es Nodemailer?

Nodemailer es un módulo para Node.js que facilita el envío de correos desde tu servidor. Admite varios protocolos de transporte, incluyendo SMTP, y proporciona características como archivos adjuntos de correo, contenido HTML e incluso imágenes incrustadas.

¿Puedo enviar correos HTML con Node.js?

Sí, puedes enviar correos HTML con Node.js. Al configurar tus opciones de mensaje con Nodemailer o un módulo similar, puedes especificar una cadena HTML para el cuerpo del correo. Esto te permite incluir texto formateado, enlaces, imágenes y otros elementos HTML en tus correos.

¿Hay alternativas a Nodemailer para enviar correos con Node.js?

Sí, hay alternativas a Nodemailer para enviar correos con Node.js. Estas incluyen módulos como emailjs y servicios de correo transaccional como Mailer To Go. Estos servicios a menudo proporcionan características adicionales como análisis y mejor entregabilidad.

Aumenta tu ROI de Correo con Mailer To Go

¿Listo para mejorar la entregabilidad de correo y las tasas de clics?

Comienza gratis