Cómo enviar correos electrónicos en Express.js: Guía de SMTP y API

Envía correos electrónicos usando Express.js con SMTP y API de forma sencilla y efectiva. Aprende cómo integrar esta funcionalidad en tu aplicación web.

15 dic 2025 • 5 min read • Q2BSTUDIO Team

Enviar correos electrónicos en Express.js con SMTP y API

Enviar correos electrónicos desde una aplicación Express.js es una necesidad habitual en proyectos web modernos, desde notificaciones transaccionales hasta campañas controladas. En esta guía práctica en español te explico paso a paso cómo hacerlo mediante SMTP y mediante API, buenas prácticas, pruebas y solución de problemas, con especial atención a aplicaciones a medida y software a medida para empresas.

Sobre Q2BSTUDIO: somos una empresa de desarrollo de software y aplicaciones a medida, especialistas en inteligencia artificial, ciberseguridad y servicios cloud aws y azure. Si buscas integrar email transaccional en una solución empresarial o una plataforma a medida, nuestro equipo puede ayudarte a diseñar la arquitectura, optimizar la entregabilidad y asegurar el entorno. Conoce nuestros servicios de inteligencia artificial en Inteligencia artificial para empresas y nuestras soluciones de desarrollo en desarrollo de aplicaciones y software multiplataforma.

Requisitos previos: Node.js instalado, editor de código, conocimientos básicos de JavaScript y una cuenta en el proveedor de correo que prefieras. Para ejemplos de envío por SMTP puedes usar proveedores como SendLayer que ofrecen credenciales SMTP y API. También necesitarás gestionar variables sensibles en un archivo .env para evitar exponer claves.

Configuración básica del servidor Express: crea un directorio proyecto con mkdir send-email y cd send-email. Inicializa con npm init -y. Instala dependencias esenciales con npm install express dotenv. Utiliza dotenv para cargar variables de entorno desde un archivo .env y mantén la lógica de parseo de JSON en el servidor con app.use express.json.

Enviar correos por SMTP con Nodemailer: SMTP es el método tradicional para enviar correo a través de servidores. Instala nodemailer con npm install nodemailer y añade las variables SMTP al .env como SMTP_HOST SMTP_PORT SMTP_USER SMTP_PASS FROM_EMAIL. En tu lógica de envío crea un transporter usando nodemailer.createTransport con host process.env.SMTP_HOST port process.env.SMTP_PORT secure false auth user process.env.SMTP_USER pass process.env.SMTP_PASS. Construye las opciones del mensaje con from process.env.FROM_EMAIL to subject text o html y utiliza transporter.sendMail para enviar. Valida que los campos to subject y message estén presentes antes de enviar y captura errores con try catch para reportar fallos en el servidor.

Ejemplo de flujo sin mostrar líneas con comillas: inicializa transporter con las variables de entorno mencionadas, define mailOptions con from to subject y text o html según necesites, y llama a transporter.sendMail mailOptions. Para adjuntos añade attachments con filename y path apuntando al archivo en el servidor. Para enviar a varios destinatarios separa las direcciones por comas en el campo to o usa arrays según la librería.

Enviar correos mediante API: las APIS de proveedores de correo suelen ofrecer mayor fiabilidad, seguimiento y escalabilidad que SMTP, especialmente para campañas y envío masivo. Normalmente necesitas una API KEY que guardarás en .env como API_KEY. Puedes usar el SDK oficial del proveedor o hacer peticiones HTTP a la endpoint de envío. El payload suele incluir from con nombre y email, to con nombre y email del destinatario, subject y html o text con el contenido del mensaje. Maneja respuestas y errores: si la API devuelve un status distinto de 200 captura la respuesta y propaga el error al cliente o al registro de logs.

Ejemplo de integración por API sin mostrar código literal con comillas: recupera API_KEY desde process.env.API_KEY inicializa el cliente del proveedor con esa clave construye payload con from to subject html y llama a la función send del SDK o realiza una petición POST a la endpoint del proveedor incluyendo en Headers Authorization Bearer API_KEY y Content Type application json. Valida campos obligatorios y gestiona errores retornando códigos HTTP adecuados.

Pruebas y herramientas: usa Postman o cURL para probar los endpoints de tu API de envío. En el cuerpo de la petición incluye to subject message y otros campos que hayas definido. Arranca el servidor con node server.js y prueba los endpoints locales como localhost 3000 send-email o localhost 3000 email-api. Revisa los logs y la bandeja del destinatario para verificar la entrega. Para pruebas masivas y validación de entregabilidad considera sandbox o entornos de staging del proveedor.

Mejores prácticas y recomendaciones: configura y autoriza el dominio remitente para evitar problemas de deliverability y que los mensajes vayan a spam. Implementa SPF DKIM y DMARC en el DNS del dominio. Controla límites de envío y usa colas cuando envíes campañas masivas para evitar bloqueos. Monitoriza rebotes y bounces y limpia listas de destinatarios. Para proyectos empresariales integra estas tareas dentro de pipelines y procesos automatizados para mantener la reputación del remitente.

Solución de problemas comunes: Error API Key inválida verifica la clave y que la variable de entorno se está cargando correctamente. Error Missing required fields valida la presencia de to subject y message. Problemas de entregabilidad revisa registros SPF DKIM y configuraciones DNS. Si la API devuelve errores específicos revisa la documentación del proveedor para códigos y mensajes.

Preguntas frecuentes breves: Para enviar HTML en Nodemailer usa la propiedad html en vez de text. Para adjuntos tanto SMTP como API admiten attachments y multipart. La diferencia entre SMTP y API reside en la fiabilidad y características: APIs suelen ofrecer mejor escalabilidad, monitorización y manejo de errores más detallado que SMTP tradicional.

Servicios relacionados que ofrece Q2BSTUDIO: si necesitas desarrollar una integración robusta de correo dentro de una solución empresarial a medida o un sistema que combine inteligencia artificial para personalización y agentes IA que interactúen con usuarios, podemos ayudar. También ofrecemos servicios de ciberseguridad para auditar y proteger tus sistemas de correo y de la plataforma completa, así como despliegue y administración en servicios cloud aws y azure. Para proyectos de analítica y reportes utiliza servicios inteligencia de negocio y power bi para extraer métricas de entrega y engagement y optimizar campañas.

Conclusión: enviar correos en Express.js es directo si sigues buenas prácticas en configuración, gestión de secretos y pruebas. Ya sea por SMTP con Nodemailer o mediante API con SDKs de proveedores, la clave está en autenticación, validación y monitorización. Si quieres que Q2BSTUDIO se encargue del diseño e implementación, desde el desarrollo de software a medida hasta la integración de IA para empresas y la seguridad, contáctanos para un proyecto a medida y escalable.

A BREAK?

Play for a moment before you go

OUR SERVICES

How we can help you

Artificial intelligence

AI agents, chatbots, and intelligent assistants that automate tasks and serve your customers 24/7 to improve the efficiency of your business.

More info

Software Development

Web, mobile, and desktop applications, intranets, e-commerce, SaaS, and management platforms designed for your company's specific needs.

More info

Cloud services

Migration, infrastructure, managed hosting, high availability, and security on Microsoft Azure and Amazon Web Services to help your business scale without limits.

More info

Cybersecurity and pentesting

Security audits, penetration testing and protection of applications, data and infrastructure on-premise and cloud, with ethical hacking and regulatory compliance.

More info

Business Intelligence

Dashboards and data analysis with Power BI: we integrate your sources, design dashboards and KPIs and turn your data into decisions.

More info

Process automation

We automate repetitive tasks and connect your applications with n8n, Power Automate, Make, and RPA, eliminating manual work and increasing productivity.

More info

Training for Companies

We train your teams in technology with criteria: web development, databases, Git, best practices and security, automation with n8n, artificial intelligence for companies and creation of AI solutions with Azure AI Foundry.

More info

Code Auditing

We audit the code that you, your team or an AI create: we tell you what is good and what to improve, we secure it and make it ready for production, web or app.

More info

AI Image Generation

We create for you the images that your business needs with artificial intelligence: product, networks, advertising, illustration and avatars. You tell us what you want and we deliver it ready to use.

More info

AI Video Generation

We create videos with artificial intelligence for you: promotional, networking, virtual presenters, dubbing and animations. You tell us the idea and we will deliver it assembled and ready to publish.

More info

AI Conversational Avatars

We create conversational avatars with AI – digital humans with a face and voice – that serve your customers and teams with the knowledge of your company, on your website, interactive monitors, WhatsApp or Teams.

More info

Online Marketing and AI

Google Ads, Meta Ads, LinkedIn Ads and AI Engine Positioning (GEO/AEO): we attract customers and make your brand appear where they search for you, also on ChatGPT, Gemini and Perplexity.

More info

Do you have a project in mind?

Tell us your vision and we'll turn it into a software solution. Whatever the scope, we make your idea real.