En pocas palabras
Servicio de APIs para crear buzones y probar recorridos de correo y SMS.
Qué problema resuelve
Pruebas de onboarding difíciles de automatizar por depender de mensajes reales.
Cuándo utilizarlo
Pruebas de integración. Ejemplo: validar un enlace de activación enviado por una aplicación.
De la idea a la práctica
Funcionamiento, ejemplos y decisiones para pasar al siguiente nivel.
En el Radar compartido: Trial (valoración de la edición aportada).
Cómo funciona
Permite crear recursos temporales, esperar mensajes y consultar su contenido mediante APIs. Facilita verificar notificaciones dentro del flujo de pruebas.
Ejemplo de uso
Crear un buzón de ensayo, registrar un usuario, esperar el correo y extraer el enlace. Confirmar su caducidad y que una segunda utilización se gestione correctamente.
Ejemplo con el SDK de JavaScript
import { MailSlurp } from 'mailslurp-client';
const mailslurp = new MailSlurp({ apiKey: process.env.MAILSLURP_API_KEY });
test('el registro envía un enlace de verificación válido', async () => {
const inbox = await mailslurp.createInbox();
await registrarUsuario({
email: inbox.emailAddress,
password: 'Prueba-123!',
});
const email = await mailslurp.waitForLatestEmail(inbox.id, 30_000, true);
expect(email.subject).toContain('Verifica tu correo');
const enlace = email.body.match(/https:\/\/\S+\/verificar\?token=\S+/)[0];
const res = await fetch(enlace);
expect(res.status).toBe(200);
});
waitForLatestEmail bloquea hasta que llega el mensaje o vence el tiempo, lo que evita esperas fijas en la prueba.
Qué más se puede probar
| Escenario | Cómo |
|---|---|
| Códigos OTP por correo o SMS | Números de teléfono de prueba y extracción del código del mensaje |
| Adjuntos (extractos, contratos) | Descargar el adjunto y validar tipo, tamaño o contenido |
| Correos entrantes | Enviar desde el buzón de prueba hacia la aplicación |
| Rebotes y quejas | Direcciones que simulan fallos de entrega |
| Contenido y enlaces | Comprobar que no hay enlaces rotos ni datos de otro usuario |
Alternativas según el entorno
| Herramienta | Ámbito |
|---|---|
| Mailpit / MailHog | Servidor SMTP local para desarrollo y CI; no envía fuera |
| MailSlurp / Mailosaur | Buzones reales en Internet: prueban el proveedor de correo real |
| Sandbox del proveedor | Modo de pruebas de SendGrid, SES, Twilio, etc. |
Usa un SMTP local para pruebas rápidas y un servicio como MailSlurp para pruebas end-to-end en staging, donde importa que el correo atraviese el proveedor real.
Criterios de implementación
Evitar envío a usuarios reales y proteger tokens y mensajes almacenados. Aislar cada prueba y revisar cuotas, costes y políticas de retención.
Continúa en las fuentes
Documentación oficial para verificar detalles y explorar más.