Primero distingue “no se envió” de “no llegó”
Cuando WordPress no envía correos, el síntoma suele ser uno de estos: el formulario muestra error, muestra éxito pero no llega nada, el mensaje cae en spam o solo fallan algunos destinatarios. Cada caso apunta a una capa distinta.
WordPress utiliza normalmente la función wp_mail(). Su documentación oficial aclara que devolver true significa que la solicitud se procesó sin error, no que el destinatario haya recibido el mensaje. Ese detalle explica por qué un formulario puede confirmar el envío y aun así perderse después.
Diagnóstico rápido por síntoma
| Síntoma | Causa probable | Primera comprobación |
|---|---|---|
| El formulario muestra error | Plugin, validación o servidor | Log del formulario y errores de PHP |
| Muestra éxito pero no llega | Transporte o entrega | Registro de correo y prueba SMTP |
| Llega a spam | Autenticación o reputación | SPF, DKIM, DMARC y cabeceras |
| Solo falla un dominio | Rechazo del destinatario | Respuesta del servidor receptor |
| Dejó de funcionar tras actualizar | Conflicto o cambio de configuración | Logs y cambios recientes |
Paso 1: comprueba que el formulario termina
Envía una prueba con datos sencillos y mira el mensaje de respuesta. Revisa también el almacenamiento de entradas del plugin, si existe: si la consulta está guardada, el formulario funcionó y el fallo está en el correo. Si no hay entrada, busca errores de JavaScript, validación o PHP antes de tocar SMTP.
No uses datos reales sensibles para probar. Un nombre, un correo controlado y un texto identificable bastan.
Paso 2: instala un registro temporal de correo
Un log permite ver destinatario, asunto, cabeceras y resultado de la llamada. Si no aparece ningún intento, la aplicación no llegó a pedir el envío. Si aparece como procesado, continúa hacia el transporte y la entrega.
Retira o limita ese registro cuando termines: los mensajes de formularios pueden contener datos personales y no deben acumularse sin una finalidad y un plazo.
Paso 3: configura un transporte SMTP o API
El envío local de PHP depende de cómo esté configurado el servidor y suele ofrecer poca trazabilidad. Un proveedor SMTP o de email transaccional autentica el envío y devuelve estados más claros. Necesitarás servidor, puerto, cifrado, usuario y credencial; algunos proveedores usan una API en lugar de SMTP.
No copies contraseñas en capturas ni las guardes en páginas visibles del panel. Usa credenciales específicas para la aplicación y rótalas si han quedado expuestas.
Paso 4: revisa remitente y DNS
- El campo
Fromdebe usar un dominio que controles. - SPF indica qué servidores pueden enviar por tu dominio.
- DKIM firma el mensaje para que el receptor compruebe su autenticidad.
- DMARC define cómo tratar fallos y dónde recibir informes.
Evita poner como remitente la dirección del visitante. Úsala en Reply-To; de lo contrario, el servidor intenta enviar como un dominio que no controla y la autenticación falla con facilidad.
Paso 5: prueba la entrega, no solo el botón
Haz envíos a dos proveedores distintos y comprueba bandeja principal, spam y cabeceras. Revisa los eventos del proveedor: entregado, aplazado, rebotado o bloqueado. Si marca entregado pero el usuario no lo ve, puede haber filtros en su buzón. Si marca rechazo, la respuesta indica el motivo.
Errores frecuentes al “arreglar” el correo
- Instalar varios plugins SMTP a la vez; si el sitio ya acumula extensiones, revisa cuántos plugins son demasiados en WordPress antes de añadir otra.
- Cambiar puertos al azar sin consultar al proveedor.
- Usar Gmail personal como infraestructura de formularios de negocio.
- Dar por resuelto el problema tras una sola prueba interna.
- No guardar las solicitudes por una vía alternativa cuando el correo es crítico.
Si llega, pero va a spam
Es un problema relacionado pero distinto. La guía por qué tus emails llegan a spam entra en autenticación, reputación y contenido. Para conocer el comportamiento exacto de WordPress, consulta la referencia oficial de wp_mail().
Si el formulario genera oportunidades, configura también almacenamiento o una integración con CRM para no depender de una sola notificación. El mantenimiento web puede vigilar pruebas periódicas; si ha dejado de entrar correo de repente y afecta al negocio, usa el canal de soporte urgente.
Equipo Codanter
Desarrollo web, IA y automatización