Un código 2FA o contraseña temporal no es un correo de marketing que puede esperar en spam. Es una llave de acceso. Cuando no llega, pierdes usuarios, pierdes ingresos, pierdes confianza.
Los proveedores de email (Gmail, Outlook, Yahoo, Yandex) han subido los filtros de spam en los últimos años, y para códigos 2FA el problema es más delicado aún: como son mensajes breves, sin contenido visual y de remitentes técnicos, los algoritmos pueden confundirlos con phishing o bots. La buena noticia es que la mayoría de las causas son técnicas y están bajo tu control.
¿Por qué no llegan los códigos 2FA/OTP?
Las razones más comunes aparecen en este orden de frecuencia:
- Fallo en autenticación (SPF, DKIM o DMARC). Tu dominio no está verificado como legítimo. Gmail y Yahoo obligan SPF + DKIM desde febrero de 2024; sin ambos, tu tasa de rechazo sube drásticamente. Tu email termina rechazado antes de llegar al filtro.
- Reputación baja de dominio o IP. Si has usado el mismo dominio para newsletters, los filtros desconfían. Si tu IP es compartida (hosting barato), el historial de otros usuarios afecta la tuya. Los ISPs tienen bases de datos de IPs malas (DNSBL).
- Envío desde el servidor de hosting, no desde un proveedor transaccional. PHP mail() o sendmail directo sin SMTP configurado es una ruleta rusa. Los ISPs reconocen estos servidores genéricos y los bloquean.
- Rate limiting o IP bloqueada. Si mandas muchos códigos seguidos (ataque brute-force), los ISPs temporalmente te bloquean. Si tu IP aparece en listas negras, el rechazo es automático.
- Falta de monitoreo. No sabes si los códigos llegan hasta que el usuario se queja. Sin alertas en tiempo real, pierdes horas de diagnóstico.
Separar transaccional de marketing: el primer paso
La regla de oro: nunca uses el mismo dominio para newsletters y 2FA.
¿Por qué? Porque la reputación de cada dominio es independiente. Si tu dominio marketing.ejemplo.com tiene una tasa de spam complaint del 0,5% (común en email marketing), los filtros lo penalizan. Pero si usas transaccional.ejemplo.com solo para contraseñas y confirmaciones, mantienes esa reputación limpia.
Además, transaccional tiene volumen predecible y tasa de apertura cercana al 100% (el usuario lo NECESITA leer). Los ISPs lo saben y lo tratan diferente. Envían con más confianza; reportan menos spam feedback.
SPF, DKIM y DMARC: configuración obligatoria
Estos tres registros DNS son tu identidad digital. Sin ellos, eres invisible para Gmail, Yahoo, Outlook y otros ISPs.
- SPF (Sender Policy Framework): Le dice al mundo qué servidores pueden enviar email en tu nombre.
Ejemplo:v=spf1 include:mailrelay.es include:sendgrid.com ~all - DKIM (DomainKeys Identified Mail): Cada email lleva una firma criptográfica. El receptor verifica que el email no fue modificado. Se configura como un registro TXT; tu proveedor SMTP te da la clave pública.
- DMARC (Domain-based Message Authentication): Le dice a los ISPs qué hacer si SPF o DKIM fallan.
Para transaccional:v=DMARC1; p=reject; rua=mailto:admin@transaccional.ejemplo.comp=rejectes la política más estricta; prueba conp=quarantinesi es muy agresiva.
Verifica tu configuración con herramientas gratuitas como MXToolbox o Google Admin Toolbox. Si algo está mal, Google Mail Postmaster Tools lo alertará en tiempo real.
Reputación de IP y dominio: calentar el fuego lentamente
Si usas una IP dedicada nueva, empieza con volumen bajo (50–100 códigos/día) y sube gradualmente. Esto se llama IP warmup o ramp-up. Los ISPs tienen algoritmos de detección de anomalías: si una IP que no conocen de repente envía 10.000 emails, parece botnet.
Además, monitorea constantemente:
- Bounce rate: Debe estar bajo 2% (direcciones inválidas).
- Complaint rate: Por debajo de 0,1% (usuarios marcando spam).
- Postmaster Tools de Gmail y Yahoo: Te muestran problemas de autenticación y feedback en tiempo real.
Transaccional por plataforma: las trampas comunes
Cada plataforma tiene sus quirks:
- PrestaShop: Por defecto envía desde el servidor con PHP mail(). Resultado: filtro de spam brutal. Solución: instala un módulo SMTP (Mailrelay, Brevo, SendGrid) o API REST.
- WordPress / Contact Form 7: Lo mismo:
wp_mail()sin SMTP externo es un desastre. Solución: Plugin WP Mail SMTP + credenciales de un proveedor transaccional. - Shopify: Shopify mantiene su propia reputación para transaccional. Si quieres enviarlo desde tu dominio, debes verificar SPF/DKIM en el panel de Shopify. Sin verificación, sigue viniendo desde
tu-tienda.myshopify.com. - Tiendanube / Nuvemshop: La transaccional viene desde su infraestructura (control limitado). Verifica que tu dominio esté verificado en la configuración. Si no, reconfigura el remitente.
Monitorear entrega: no es opcional
No puedes confiar en «parece que llega». Necesitas datos en tiempo real.
Usa estas herramientas:
- Postmaster Tools de Gmail y Yahoo: Alertas de autenticación, feedback de spam, métricas de entrega.
- Webhooks de tu proveedor SMTP: Rebotes, quejas, aperturas. Configúralos en tu base de datos.
- Tests puntuales: check.live-direct-marketing.online te deja enviar un código a seed-addresses en 20+ proveedores y ves exactamente dónde aterrizó (Inbox, Spam, Promotions). Gratis, sin registro.
Si la tasa de spam sube inesperadamente, investiga:
- ¿Cambié el dominio o IP recientemente?
- ¿Subió el volumen de repente?
- ¿Hay quejas de usuarios?
- ¿El SPF/DKIM se corrompió?
- ¿La IP aparece en DNSBL?
¿Cuál es la tasa de rechazo acceptable para 2FA?
¿Necesito un dominio completamente nuevo para transaccional?
transaccional.tudominio.com si mantienes un historial limpio. Lo importante es separar el SPF/DKIM/DMARC de marketing y no mezclar volúmenes.