El postmortem fue incómodo. Un ingeniero sénior había desplegado código que enviaba correos de restablecimiento de contraseña a los usuarios equivocados. No a usuarios aleatorios: al usuario anterior en la consulta de base de datos. Una cláusula WHERE faltante significaba que cada correo de restablecimiento iba al usuario anterior al que lo solicitó. Miles de correos, todos a personas equivocadas.
La corrección tomó cinco minutos. La respuesta al incidente tomó cinco días. La recuperación de la confianza tomó meses.
Los errores de correo electrónico son especialmente dolorosos porque son visibles para los usuarios, a menudo irreversibles y pueden tener implicaciones legales o de seguridad. Estos son los errores que siguen apareciendo en postmortems, tickets de soporte y sesiones de depuración nocturnas.
Errores de autenticación
1. Olvidar actualizar SPF al agregar nuevos servicios. Añades una nueva herramienta de marketing, empieza a enviar correo y, de repente, tus correos fallan SPF. Todo servicio que envía correo como tu dominio debe estar en tu registro SPF. Mantén una lista de remitentes autorizados y actualiza SPF cuando cambie.
2. Usar ~all en lugar de -all en SPF. El soft fail (~all) les dice a los servidores receptores "esto podría no estar autorizado, pero no lo rechaces". Proporciona monitoreo pero no protección. Usa hard fail (-all) una vez que hayas verificado que todos los remitentes legítimos estén autorizados.
3. No supervisar los informes DMARC. Configuras DMARC con p=none para recopilar informes, y luego nunca los miras. Los informes muestran fallos de autenticación y remitentes no autorizados: información valiosa que es inútil si se ignora. Usa un servicio de análisis de DMARC para convertir los informes en acciones.
4. Superar el límite de 10 lookups de SPF. Cada include en tu registro SPF desencadena búsquedas DNS. Si superas 10, todo tu registro SPF es inválido. A medida que añades servicios, alcanzas este límite más rápido de lo esperado. Usa aplanamiento de SPF (SPF flattening) o subdominios para mantenerte por debajo del límite.
Errores de envío
5. Enviar a los destinatarios equivocados. El error clásico: un correo de prueba va a usuarios de producción, o un filtro de segmento es incorrecto, o una consulta de base de datos devuelve resultados inesperados. Verifica siempre las listas de destinatarios antes de enviar, especialmente para campañas grandes. Usa listas semilla y verificaciones puntuales.
6. No gestionar los rebotes. Los rebotes duros significan que la dirección es permanentemente inválida. Seguir enviando a direcciones rebotadas perjudica tu reputación y desperdicia recursos. Implementa gestión de rebotes que elimine los rebotes duros inmediatamente y registre los rebotes suaves/temporales para una eliminación eventual.
7. Ignorar los límites de tasa. Los proveedores de servicios de correo (ESP) y los servidores receptores tienen límites de tasa. Si los excedes, tus correos se limitan o se rechazan. Implementa una cola adecuada y respeta los límites de tasa. Los picos de volumen repentinos también activan filtros de spam—incrementa gradualmente.
8. Enviar desde una dirección no-reply. [email protected] les dice a los destinatarios que no quieres oír de ellos. Impide respuestas que podrían contener comentarios valiosos o indicar problemas de entrega. Usa una dirección monitorizada, incluso si enrutas las respuestas a un sistema de tickets.
Errores de contenido
9. Personalización rota. Cuando fallan las etiquetas de fusión, los destinatarios ven {{first_name}} o, peor, los datos de otro usuario. Establece siempre valores de respaldo para la personalización. Prueba con datos faltantes para ver lo que realmente reciben los destinatarios.
10. Renderizado HTML no probado. Tu correo se ve perfecto en Gmail. Está roto en Outlook. El HTML de email no es HTML web—requiere tablas para el diseño, estilos inline y pruebas cuidadosas entre clientes. Usa herramientas de vista previa antes de enviar.
11. Falta la versión de texto plano. Algunos destinatarios prefieren texto plano. Algunos filtros de spam penalizan correos solo HTML. Incluye siempre una alternativa de texto plano que sea realmente legible, no solo un volcado del contenido HTML.
12. Enlaces rotos. Enlaces que dan 404, bucles de redirección o apuntan a entornos de staging. Haz clic en cada enlace antes de enviar. Automatiza la verificación de enlaces en tu proceso previo al envío.
Errores de infraestructura
13. Credenciales SMTP codificadas de forma fija (hardcodeadas). Las credenciales en el código terminan en control de versiones, logs y mensajes de error. Usa variables de entorno o gestión de secretos. Rota las credenciales si alguna vez se han expuesto.
14. Sin lógica de reintentos para fallos transitorios. Las conexiones SMTP fallan. Los servidores devuelven errores temporales. Sin lógica de reintento, estos fallos transitorios se convierten en fallos de entrega permanentes. Implementa retroceso exponencial y reintentos para errores recuperables.
15. Envío de correo electrónico síncrono. Enviar correo en el ciclo de solicitud/respuesta hace que tu aplicación sea lenta y frágil. Si el servidor de correo está lento o caído, tu aplicación está lenta o caída. Usa una cola para el envío de correo—acepta la solicitud, encola el correo, devuelve inmediatamente.
El metaerror
El mayor error es tratar el correo electrónico como algo simple. "Solo enviar un correo" suena trivial hasta que estás depurando problemas de entregabilidad a las 2 AM, explicando a legal por qué la cancelación de suscripción no funciona, o diciendo a los clientes que sus restablecimientos de contraseña se enviaron a desconocidos.
El correo electrónico es un sistema distribuido con componentes poco fiables, implementaciones inconsistentes y altas apuestas. Trátalo con el mismo rigor que aplicarías a cualquier sistema crítico: pruebas, monitoreo, manejo de errores y respuesta a incidentes.
Estrategias de prevención
Listas de verificación. Una lista previa al envío captura errores obvios antes de que lleguen a los destinatarios. Hazla obligatoria, no opcional.
Entornos de pruebas. Nunca pruebes con datos de producción o destinatarios de producción. Usa entornos de prueba dedicados con datos falsos y direcciones internas.
Despliegues escalonados. Para campañas grandes, envía primero a un pequeño porcentaje. Verifica que todo funcione antes de enviar a la lista completa.
Monitoreo. Rastrea tasas de entrega, tasas de rebote y tasas de quejas. Las anomalías indican problemas—detéctalos temprano.
Revisión de código. Los cambios de código relacionados con correo merecen escrutinio adicional. Un bug en el código de correo afecta a los usuarios directa y visiblemente.
Respuesta a incidentes. Sabe qué hacer cuando el correo sale mal. ¿Quién puede detener una campaña a mitad de envío? ¿Cómo te comunicas con los usuarios afectados? Planifica antes de necesitarlo.
Frequently asked questions
¿Cuál es el error de correo electrónico más común que ves?
La personalización rota y el envío a destinatarios equivocados son los errores de mayor impacto más comunes. Son visibles para los usuarios y a menudo son vergonzosos. La mala configuración de la autenticación es el error de baja visibilidad más común: daña la entregabilidad silenciosamente, sin síntomas obvios.
¿Cómo evito enviar correos de prueba a usuarios de producción?
Usa entornos separados con listas de destinatarios separadas. Implementa salvaguardas en el código que impidan envíos de producción desde entornos no productivos. Algunos equipos usan interceptación de correo en entornos no productivos para atrapar todo el correo saliente.
¿Qué debo hacer si envío un correo a las personas equivocadas?
Primero, detén cualquier envío en curso. Luego, evalúa el impacto—¿qué información se expuso? ¿quiénes se vieron afectados? Comunica de forma transparente con los usuarios afectados. Documenta el incidente e implementa medidas preventivas. Para incidentes graves, involucra a los equipos legal y de seguridad.
¿Cómo sé si mis correos realmente se están entregando?
La tasa de entrega (aceptados por los servidores receptores) es un comienzo, pero no garantiza la colocación en la bandeja de entrada. Supervisa las tasas de apertura para detectar caídas repentinas. Usa pruebas con listas semilla para comprobar la colocación real en la bandeja de entrada. Configura Google Postmaster Tools para obtener información específica de Gmail.