nodemailer

Entrenador de Python en Línea para Principiantes

Aprende Python fácilmente sin sobrecargarte de teoría. Resuelve tareas prácticas con verificación automática, recibe pistas y escribe código directamente en el navegador, sin instalar nada.

Start Course

Biblioteca nodemailer para enviar correos electrónicos en TypeScript

nodemailer es una biblioteca potente y popular para Node.js, escrita en TypeScript, que permite enviar correos electrónicos fácilmente desde aplicaciones del lado del servidor. Soporta todos los protocolos modernos (SMTP, SES, Sendmail) y formatos de correo (HTML, texto, adjuntos).

¿Para qué sirve nodemailer?

En el desarrollo web, a menudo es necesario enviar notificaciones, confirmaciones de registro, restablecimiento de contraseñas o boletines de marketing. nodemailer resuelve esta tarea proporcionando una API simple y flexible para trabajar con servidores de correo. Gracias a la tipificación de TypeScript, el código se vuelve más fiable y predecible.

Instalación

Instale el paquete a través de npm o yarn:

npm install nodemailernpm install -D @types/nodemailer

Para TypeScript, asegúrese de instalar el paquete con tipos.

Funciones principales

  • Soporte SMTP — funciona con cualquier servidor SMTP (Gmail, Yandex, Mailgun, SendGrid).
  • Correos HTML y de texto — puede enviar tanto texto plano como mensajes HTML formateados.
  • Adjuntos — soporte para archivos, imágenes y adjuntos en línea.
  • Streams — posibilidad de enviar archivos grandes a través de streams.
  • Seguridad — soporte para TLS/SSL, OAuth2.
  • Pool de conexiones — optimización para envíos masivos.

Ejemplo de código en TypeScript

Ejemplo simple de envío de correo a través de Gmail SMTP:

import nodemailer from 'nodemailer';

async function sendEmail() { const transporter = nodemailer.createTransport({ host: 'smtp.gmail.com', port: 587, secure: false, // true para 465 auth: { user: 'your-email@gmail.com', pass: 'your-password', }, });

const info = await transporter.sendMail({ from: '"Sender Name" <your-email@gmail.com>', to: 'recipient@example.com', subject: '¡Hola desde TypeScript!', text: 'Este es el texto del correo.', html: '<b>Este es un correo HTML</b>', });

console.log('Correo enviado:', info.messageId);}

sendEmail().catch(console.error);

Cuándo usar nodemailer

La biblioteca es ideal para:

  • Aplicaciones backend en Node.js/Express/NestJS.
  • Notificaciones automáticas (registro, pedidos, errores).
  • Confirmación de direcciones de correo electrónico.
  • Envío de correos transaccionales.
  • Integración con cualquier proveedor SMTP.

Si necesita enviar correos con adjuntos, plantillas HTML o a través de servicios externos (SendGrid, Mailgun), nodemailer es el estándar de facto en el ecosistema Node.js.

Importante: Para producción, use variables de entorno para almacenar contraseñas y configurar OAuth2, para no exponer las credenciales en el código.

Recommendations