Volver al blog
Webhook vs Polling: Por qué JunkMail eligió el tiempo real (y por qué tú también deberías)

Webhook vs Polling: Por qué JunkMail eligió el tiempo real (y por qué tú también deberías)

Descubre la arquitectura técnica detrás de JunkMail. Cómo gestionamos miles de correos por segundo sin hacer esperar nunca a tus scripts de prueba.

Por Equipo de Ingeniería7/1/2026

En el mundo del desarrollo, hay una promesa que a menudo se rompe: el "tiempo real".

¿Cuántas veces has programado un script que debe esperar un evento externo (como la llegada de un correo), para acabar escribiendo un bucle while(true) que bombardea una API cada dos segundos? Eso se llama Polling. Y en 2026, es un poco como si fueras a revisar tu buzón físico cada 5 minutos para ver si ha pasado el cartero.

En JunkMail, construimos nuestra infraestructura sobre el principio opuesto: el Webhook.

Sumerjámonos bajo el capó para entender por qué esta elección lo cambia todo para tus pruebas y tus aplicaciones.

El Polling: El desperdicio silencioso

El Polling es el método "bruto". Tu aplicación le pregunta a JunkMail: "¿Tengo correo? No. ¿Y ahora? No. ¿Y ahora? Todavía no."

Por qué es una mala idea:

  1. Desperdicio de recursos: Cada solicitud consume ancho de banda y CPU tanto en tu servidor como en el nuestro.
  2. Latencia artificial: Si haces polling cada 10 segundos, puedes recibir el correo con 9,9 segundos de retraso. En un pipeline CI/CD de 500 pruebas, ese retraso se vuelve inaceptable.
  3. Coste: Las APIs suelen limitar el número de solicitudes por minuto (Rate Limiting). El polling te hace alcanzar esos límites muy (demasiado) rápido.

El Webhook: "No nos llames, nosotros te llamamos"

El Webhook es el enfoque elegante. Le das a JunkMail una URL (tu endpoint), y nosotros permanecemos en silencio. Tan pronto como llega un correo y pasa nuestros filtros, "empujamos" los datos hacia ti instantáneamente.

Las ventajas son masivas:

  • Reactividad instantánea: Tan pronto como el servidor SMTP Haraka termina de recibir el correo, está en tu puerta en milisegundos.
  • Eficiencia: Una sola solicitud HTTP solo cuando es necesaria.
  • Escalabilidad: Tu servidor puede gestionar miles de correos entrantes sin tener que mantener bucles de espera complejos.

La Arquitectura JunkMail: Una sinfonía en cuatro tiempos

Para hacer posible este tiempo real, JunkMail utiliza un stack tecnológico optimizado para el rendimiento puro.

1. La Recepción (Haraka SMTP)

Usamos Haraka, un servidor SMTP ultrarrápido escrito en Node.js. A diferencia de los servidores tradicionales (Postfix, Exim), Haraka está dirigido por eventos. Nos permite interceptar el correo mientras llega y disparar nuestros scripts inmediatamente.

2. El Cerebro (NestJS y Redis)

Una vez recibido el correo, se envía a nuestra API NestJS. El contenido se almacena de forma efímera en Redis, una base de datos en memoria. ¿Por qué Redis? Porque escribir en un disco duro es demasiado lento para nuestros estándares.

3. La Notificación (Webhooks y WebSockets)

Aquí es donde ocurre la magia.

  • Para tus pruebas: Si has configurado un Webhook, nuestro sistema envía una solicitud POST a tu URL con el contenido JSON del correo.
  • Para tu Dashboard: Usamos WebSockets (Socket.io). Esto es lo que hace que tu interfaz de JunkMail parpadee y muestre el correo sin que tengas que actualizar la página.

4. La Limpieza (Cron y TTL)

El dato está vivo, pero debe morir. Usamos los mecanismos de TTL (Time To Live) de Redis y tareas programadas (Cron) para garantizar que tus correos desaparezcan realmente después de 24h o 30 días, según tu plan.


Caso de uso: Por qué los devs adoran nuestros Webhooks

Imagina que estás probando un flujo de pago que envía una factura.

Sin Webhook: Tu prueba Playwright debe hacer bucles, gestionar timeouts y potencialmente perder el correo si la red parpadea. Tu código está lleno de sleep(5000).

Con Webhook JunkMail: Tu prueba lanza un pequeño servidor HTTP temporal (a través de una librería como express o msw). Configura la URL del webhook en JunkMail. Simplemente espera la solicitud POST. Tan pronto como llega, la prueba continúa. Resultado: Tus pruebas son 5 veces más rápidas y 100% estables.

Conclusión

La arquitectura de JunkMail no fue diseñada simplemente para "almacenar correo". Fue pensada como una infraestructura de datos en tiempo real.

Al elegir Webhooks en lugar de Polling, te ofrecemos la herramienta más precisa del mercado para tus automatizaciones. Porque sabemos que tu tiempo es el recurso más valioso de tu stack.

¿Listo para cambiar de marcha? Configura tu primer Webhook en JunkMail Business.