Los correos de WordPress no llegan: SPF, DKIM, colas saturadas y por qué tu facturación depende de esto
Tu tienda cobra, pero el cliente no recibe la confirmación. Tu formulario de contacto funciona, pero los leads nunca llegan a ventas. Tu plugin de facturación timbra el CFDI, pero el XML no se entrega. El problema no es WordPress: es la infraestructura de correo. Te explicamos las 5 causas reales y cómo diagnosticarlas.
En una línea: WordPress usa la función wp_mail() para enviar correos, que a su vez depende del servidor para entregarlos. Si el servidor no está configurado correctamente (SPF, DKIM, reputación IP, colas saturadas), los correos rebotan o llegan a spam. El problema rara vez es WordPress: es la infraestructura. Este artículo te enseña a diagnosticarla.
1. Por qué los correos de WordPress no llegan (y nadie te lo explica)
Cuando WordPress necesita enviar un correo (confirmación de pedido, notificación de nuevo comentario, restablecimiento de contraseña, formulario de contacto), usa una función interna llamada wp_mail(). Esta función no envía correos directamente: delega la entrega al servidor donde está alojado tu sitio.
El problema es que la mayoría de los hostings compartidos no están configurados para enviar correos transaccionales de forma confiable. El servidor puede enviar los correos, pero los receptores (Gmail, Outlook, Yahoo) los rechazan o los mandan a spam porque:
- La IP del servidor está en listas negras
- Faltan registros SPF, DKIM o DMARC en el DNS
- El servidor comparte IP con otros sitios que envían spam
- Las colas de correo están saturadas
- El hosting bloquea el puerto SMTP por seguridad
El resultado: WordPress dice "correo enviado", pero el destinatario nunca lo recibe. O lo recibe en spam, donde nadie lo ve.
Muchos dueños de sitio asumen que porque su hosting incluye "correo gratuito", los correos de WordPress van a llegar correctamente. Falso. El correo gratuito del hosting suele estar limitado, compartido con otros sitios, y sin la configuración técnica necesaria para entregar correos transaccionales de forma confiable. Si tu negocio depende de los correos que envía WordPress (confirmaciones de pedido, facturas, leads), necesitas una solución dedicada.
2. Las 5 causas reales
Después de más de 9,700 casos resueltos desde 2015, estas son las causas que vemos consistentemente cuando los correos de WordPress no llegan:
Falta de registros SPF, DKIM y DMARC en el DNS
Los servidores de correo receptores (Gmail, Outlook, Yahoo) verifican que el correo venga de un remitente autorizado. Si tu dominio no tiene registros SPF (que dice qué servidores pueden enviar correos en tu nombre), DKIM (que firma digitalmente los correos) y DMARC (que dice qué hacer si fallan las verificaciones), los correos serán rechazados o enviados a spam.
Cómo verificarlo: Usa herramientas como MXToolbox DNS Check o Mail-Tester para verificar si tus registros están configurados correctamente. Si no tienes SPF, DKIM ni DMARC, ese es tu problema.
IP del servidor en listas negras
Si tu hosting compartido tiene la IP en listas negras (Spamhaus, Barracuda, SURBL), todos los correos que envíes desde esa IP serán rechazados o enviados a spam, sin importar cuán bien configurado esté tu sitio. Esto es especialmente común en hostings baratos que alojan miles de sitios en la misma IP.
Cómo verificarlo: Usa MXToolbox Blacklist Check para verificar si la IP de tu servidor está en listas negras. Si aparece en múltiples listas, ese es tu problema. La solución suele ser migrar a un hosting con IPs limpias o usar un servicio de correo transaccional dedicado.
Colas de correo saturadas
El servidor tiene una cola de correos pendientes de enviar. Si la cola se satura (por un plugin de newsletter mal configurado que intenta enviar miles de correos de golpe, o por spam enviado desde otro sitio en el mismo servidor), los correos de WordPress quedan atrapados en la cola y nunca se entregan.
Cómo verificarlo: Si tienes acceso SSH al servidor, ejecuta exim -bp o mailq para ver la cola de correos. Si hay miles de correos pendientes, esa es la causa. Necesitas identificar qué plugin o sitio está saturando la cola y detenerlo.
Hosting bloquea el puerto SMTP
Algunos hostings bloquean el puerto SMTP (25, 465, 587) por seguridad para evitar que sus servidores sean usados para enviar spam. Si tu sitio intenta enviar correos por SMTP y el puerto está bloqueado, los correos nunca salen del servidor.
Cómo verificarlo: Si estás usando un plugin SMTP (como WP Mail SMTP) y los correos no salen, verifica con tu hosting si los puertos SMTP están habilitados. Algunos hostings requieren que solicites la habilitación manualmente.
Plugin de correo mal configurado o en conflicto
Tienes un plugin SMTP instalado pero mal configurado (credenciales incorrectas, servidor SMTP equivocado, puerto incorrecto), o tienes múltiples plugins de correo que entran en conflicto entre sí.
Cómo verificarlo: Revisa la configuración de tu plugin SMTP. Verifica que las credenciales, el servidor SMTP y el puerto sean correctos. Si tienes múltiples plugins de correo activos, desactívalos todos excepto uno y prueba de nuevo.
3. Protocolo de diagnóstico paso a paso
Este es el orden que seguimos para diagnosticar problemas de entregabilidad de correo en WordPress. No lo cambies: seguir el orden correcto te ahorra horas de pruebas innecesarias.
Envía un correo de prueba y revisa el log
Usa un plugin como WP Mail SMTP o Log Email para enviar un correo de prueba y registrar el resultado. Revisa el log: ¿el correo salió del servidor? ¿Hubo error de conexión SMTP? ¿El servidor receptor rechazó el correo? Este log te dice exactamente dónde está fallando la entrega.
Verifica SPF, DKIM y DMARC
Usa Mail-Tester para enviar un correo de prueba y obtener un reporte completo de entregabilidad. Si tu calificación es menor a 8/10, revisa los registros SPF, DKIM y DMARC. Si no los tienes, ese es tu problema principal.
Verifica si la IP del servidor está en listas negras
Usa MXToolbox Blacklist Check para verificar si la IP de tu servidor está en listas negras. Si aparece en Spamhaus, Barracuda o SURBL, los correos serán rechazados. La solución es migrar a un hosting con IPs limpias o usar un servicio de correo transaccional dedicado.
Revisa la cola de correos del servidor
Si tienes acceso SSH, ejecuta exim -bp o mailq para ver la cola de correos pendientes. Si hay miles de correos, identifica qué plugin o sitio está saturando la cola. Si no tienes acceso SSH, solicita a tu hosting que revise la cola por ti.
Verifica la configuración del plugin SMTP
Si estás usando un plugin SMTP, verifica que las credenciales, el servidor SMTP y el puerto sean correctos. Prueba con un servicio de correo transaccional dedicado (SendGrid, Mailgun, Amazon SES, Postmark) en lugar del SMTP del hosting. Estos servicios están diseñados para entregar correos transaccionales de forma confiable.
Verifica conflictos entre plugins
Si tienes múltiples plugins de correo activos (WP Mail SMTP, Post SMTP, Easy WP SMTP, etc.), desactívalos todos excepto uno. Los plugins de correo pueden entrar en conflicto entre sí y causar fallos de entrega.
4. Caso real: CFDI timbra pero el XML no llega
Plugin de facturación CFDI timbra correctamente, pero el XML nunca llega al cliente
Síntoma: Una tienda WooCommerce con facturación CFDI automática reportó que los comprobantes fiscales se timbraban correctamente en el PAC (Proveedor de Certificación de Timbrado), pero los XML y PDFs nunca llegaban al correo del cliente. El cliente llamaba a soporte porque no recibía su factura.
Diagnóstico: Revisamos el log de correos y descubrimos que los correos con los XML adjuntos estaban saliendo del servidor, pero siendo rechazados por los servidores de Gmail y Outlook. La causa: el plugin de newsletter (MailPoet) estaba configurado para enviar campañas masivas desde el mismo servidor, saturando la cola de correo. Además, el dominio no tenía registros SPF ni DKIM configurados.
Solución: (1) Configurar registros SPF, DKIM y DMARC en el DNS. (2) Migrar el envío de correos transaccionales (facturas, confirmaciones de pedido) a un servicio dedicado (Amazon SES). (3) Configurar MailPoet para usar su propio servicio de envío en lugar del servidor local. (4) Limpiar la cola de correos saturada.
Resultado: Los correos de facturación empezaron a llegar correctamente en menos de 24 horas. El cliente dejó de recibir quejas y el equipo de soporte recuperó 3 horas diarias que antes dedicaba a reenviar facturas manualmente.
Un correo que no llega es un cliente que no confía. Si tu tienda cobra pero no entrega facturas, confirmaciones o guías de envío, estás construyendo una relación con tus clientes sobre una base rota. La entregabilidad de correo no es un detalle técnico: es parte de tu operación.
— Manuel Macedo, Mexico WordPress5. Caso real: checkout rechaza tarjetas por TLS obsoleto
Checkout WooCommerce rechaza todas las tarjetas: TLS 1.0 deprecado por la pasarela
Síntoma: Una tienda WooCommerce reportó que todas las tarjetas eran rechazadas en el checkout. El mensaje era genérico: "Error al procesar el pago". Los clientes intentaban pagar, pero nada funcionaba.
Diagnóstico: Revisamos los logs del servidor y descubrimos que la pasarela de pagos (Openpay) había deprecado TLS 1.0 y exigía TLS 1.2 o superior. El certificado SSL del servidor era antiguo y solo soportaba TLS 1.0. La conexión se establecía, pero la pasarela rechazaba la transacción por seguridad.
Solución: Renovar el certificado SSL y configurar el servidor para soportar TLS 1.2 y 1.3. Este problema también afectaba los correos transaccionales: el servidor SMTP de la pasarela (que envía notificaciones de pago) también exigía TLS 1.2, por lo que las notificaciones de pago tampoco llegaban.
Resultado: El checkout volvió a funcionar y las notificaciones de pago empezaron a llegar correctamente. El cliente recuperó las ventas perdidas durante las 4 horas que duró el incidente.
6. SPF, DKIM y DMARC: qué son y por qué importan
Si solo vas a recordar una cosa de este artículo, que sea esto: sin SPF, DKIM y DMARC, tus correos no van a llegar. Estos tres registros DNS son la diferencia entre que tus correos lleguen a la bandeja de entrada o sean rechazados.
SPF (Sender Policy Framework)
SPF es un registro DNS que dice qué servidores están autorizados para enviar correos en nombre de tu dominio. Si un servidor no autorizado intenta enviar un correo con tu dominio como remitente, el receptor lo rechaza.
v=spf1 include:_spf.google.com include:sendgrid.net ~all
# Esto dice: solo Google Workspace y SendGrid pueden enviar correos en nombre de este dominio.
DKIM (DomainKeys Identified Mail)
DKIM es una firma digital que se agrega a cada correo enviado. El receptor verifica que la firma sea válida y que el correo no haya sido modificado en tránsito. Si la firma no es válida, el correo es rechazado o enviado a spam.
default._domainkey IN TXT "v=DKIM1; k=rsa; p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQ..."
# Esto contiene la clave pública que el receptor usa para verificar la firma.
DMARC (Domain-based Message Authentication, Reporting, and Conformance)
DMARC le dice al receptor qué hacer si un correo falla las verificaciones de SPF o DKIM. Puedes configurar DMARC para que rechace los correos que fallen, los envíe a spam, o solo reporte los fallos sin tomar acción.
_dmarc IN TXT "v=DMARC1; p=quarantine; rua=mailto:dmarc-reports@tudominio.com"
# Esto dice: si un correo falla SPF o DKIM, envíalo a spam (quarantine).
# Envía reportes de fallos a dmarc-reports@tudominio.com.
Desde febrero de 2024, Gmail y Yahoo exigen que los remitentes que envían más de 5,000 correos al día tengan SPF, DKIM y DMARC configurados. Si no los tienes, tus correos serán rechazados. Esta política se ha ido endureciendo en 2025 y 2026, y ahora afecta incluso a remitentes pequeños. Si tu sitio envía correos transaccionales (confirmaciones de pedido, facturas, notificaciones), necesitas estos registros configurados correctamente.
7. Checklist de entregabilidad
Si los correos de tu WordPress no llegan, pasa este checklist para identificar el problema:
| Verificación | Herramienta | Qué buscar |
|---|---|---|
| Registro SPF configurado | MXToolbox SPF | Registro válido que incluya tu servidor SMTP |
| Registro DKIM configurado | MXToolbox DKIM | Firma válida y verificable |
| Registro DMARC configurado | MXToolbox DMARC | Política definida (none, quarantine, reject) |
| IP del servidor no está en listas negras | MXToolbox Blacklist | IP limpia en todas las listas principales |
| Cola de correo no está saturada | SSH: exim -bp o mailq | Menos de 100 correos pendientes |
| Plugin SMTP configurado correctamente | WP Mail SMTP o similar | Credenciales, servidor y puerto correctos |
| Servicio de correo transaccional dedicado | SendGrid, Mailgun, Amazon SES, Postmark | Recomendado para sitios que envían correos críticos |
| Calificación de entregabilidad | Mail-Tester | Calificación 8/10 o superior |
Si tu sitio envía correos críticos (facturas, confirmaciones de pedido, notificaciones de pago), no dependas del correo gratuito del hosting. Usa un servicio de correo transaccional dedicado (SendGrid, Mailgun, Amazon SES, Postmark) con SPF, DKIM y DMARC configurados correctamente. El costo es mínimo ($10-$50 USD/mes) y la diferencia en entregabilidad es abismal.
¿Los correos de tu WordPress no llegan?
Revisamos tu infraestructura de correo por fuera, sin costo. En 30 minutos sabes si el problema es de SPF/DKIM/DMARC, IP en listas negras, colas saturadas o configuración SMTP. Si hay que entrar, el diagnóstico se descuenta al 100% si contratas la reparación.
8. Preguntas frecuentes
Sí, si tienes acceso al panel de DNS de tu dominio (usualmente en tu registrador de dominio o en tu hosting). La configuración básica de SPF es straightforward: agregar un registro TXT con los servidores autorizados. DKIM requiere generar una clave pública/privada (tu servicio SMTP te la da) y agregarla como registro TXT. DMARC es un registro TXT simple. Sin embargo, si no estás familiarizado con DNS, un error puede dejar tu dominio sin correo por horas. Si no te sientes cómodo, contrata a alguien que lo haga.
Depende del volumen de correos. SendGrid ofrece 100,000 correos/mes gratis en su plan básico. Mailgun cobra desde $15 USD/mes por 50,000 correos. Amazon SES es el más barato ($0.10 USD por 1,000 correos), pero requiere más configuración técnica. Postmark es el más caro pero tiene la mejor entregabilidad. Para la mayoría de sitios corporativos y ecommerce pequeños, el costo es de $10-$50 USD/mes. Es una fracción del costo de perder clientes por correos que no llegan.
El 90% de las veces, el hosting dice que es WordPress y WordPress dice que es el hosting. La verdad está en el log de correos: si los correos salen del servidor pero son rechazados por los receptores, es un problema de SPF/DKIM/DMARC o de IP en listas negras (infraestructura). Si los correos ni siquiera salen del servidor, es un problema de configuración SMTP o de colas saturadas (WordPress o servidor). Si no sabes leer los logs, necesitas un diagnóstico profesional.
Depende de la causa. Configurar SPF, DKIM y DMARC toma entre 1 y 2 horas. Migrar a un servicio de correo transaccional dedicado toma entre 3 y 5 horas (configuración, pruebas, migración de plantillas). Resolver un problema de colas saturadas puede tomar 2-4 horas (identificar el plugin culpable, reconfigurar, limpiar cola). El diagnóstico es pagado y se descuenta al 100% si contratas la reparación con nosotros. Solicita un diagnóstico aquí.
Tres cosas: (1) Usa un servicio de correo transaccional dedicado (no el correo gratuito del hosting). (2) Mantén SPF, DKIM y DMARC configurados correctamente y monitorea los reportes de DMARC semanalmente. (3) Si tu sitio envía correos críticos (facturas, confirmaciones de pedido), considera un plan de mantenimiento que incluya monitoreo de entregabilidad de correo. El costo del mantenimiento es una fracción del costo de perder clientes por correos que no llegan.
