Pocas averías de una web cuestan tanto dinero y hacen tan poco ruido como esta: el formulario de contacto no envía correos y nadie se entera. La página parece funcionar, el visitante rellena sus datos, pulsa «Enviar» y ve un mensaje de agradecimiento. Pero el aviso nunca llega a tu bandeja de entrada. El cliente espera una respuesta que no recibe y acaba llamando a la competencia.
En este artículo te explicamos cómo comprobar en pocos minutos si tu formulario falla, cuáles son las siete causas más habituales y cómo se arregla de verdad, sin parches que vuelven a romperse al mes siguiente. Está pensado para el dueño o responsable de un negocio, no para programadores: cuando aparezca un término técnico, lo explicamos.
Por qué es tan grave que tu formulario de contacto no envíe correos
Para la mayoría de pymes, clínicas, despachos o inmobiliarias, el formulario es la principal puerta de entrada de clientes desde la web. Si se cierra, la web sigue recibiendo visitas, pero deja de generar negocio. Y lo peor es que el fallo es silencioso: no hay una pantalla de error, no se cae la página, no salta ninguna alarma.
Por eso es habitual descubrirlo tarde y por casualidad: un cliente que comenta por teléfono que «ya os escribí por la web hace dos semanas», un descenso de solicitudes que se achaca a la temporada o una prueba que alguien hace por curiosidad. Cuando un formulario de contacto no envía correos, cada día que pasa sin detectarlo son oportunidades perdidas que no se recuperan.
La buena noticia es que casi siempre tiene solución, y que una vez resuelto bien no debería repetirse si la web se mantiene con cuidado.
Primero, confirma el problema en cinco minutos
Antes de tocar nada, conviene saber exactamente qué está pasando: no es lo mismo un caso en el que el formulario de contacto no envía correos en absoluto que otro en el que el aviso sale pero acaba en spam. Estas tres comprobaciones las puede hacer cualquier persona, sin acceso técnico.
Envía una prueba tú mismo
Entra en tu web desde el móvil, con los datos móviles y no con la wifi de la oficina, y rellena el formulario como si fueras un cliente. Usa una dirección de correo personal distinta de la que recibe los avisos, por ejemplo una cuenta de Gmail. Anota la hora exacta del envío.
Espera unos minutos. Si el aviso llega, el problema puede ser intermitente o afectar solo a ciertos mensajes. Si no llega, ya tienes la confirmación.
Revisa si los correos del formulario están en spam
Busca el mensaje en la carpeta de correo no deseado, en la de promociones si usas Gmail y en la cuarentena si tu empresa tiene un filtro antispam propio, algo habitual en cuentas de Microsoft 365. Busca también por el asunto que suele tener el aviso o por la hora del envío.
Si el mensaje está en spam, la web sí envía el correo, pero el servidor que lo recibe no se fía de él. Es una pista muy valiosa, porque apunta directamente a las causas 2 y 3 que veremos más abajo.
Comprueba si los mensajes se guardan en la web
Muchos plugins de formularios de WordPress, como WPForms, Gravity Forms, Fluent Forms o Contact Form 7 con un complemento, pueden guardar una copia de cada envío dentro del panel de administración. Si tu web lo tiene activado, entra y mira si aparece tu mensaje de prueba.
- Si el mensaje está guardado en la web pero no te llegó el correo: el formulario funciona; el problema está en el envío del correo.
- Si el mensaje no está guardado: el fallo está antes, en el propio formulario, y suele deberse a un conflicto de plugins, a la caché o al antispam.
Si tu web no guarda los envíos, actívalo en cuanto se resuelva el problema. Es la red de seguridad que te permite recuperar solicitudes aunque el correo falle algún día.
Las 7 causas más habituales
Detrás de casi todos los casos hay una de estas siete causas, o varias a la vez. Las ordenamos de más a menos frecuente según nuestro criterio, empezando por las que tienen que ver con cómo sale el correo de la web.
1. La web envía el correo con la función básica del servidor
Por defecto, WordPress envía los correos a través de una función llamada wp_mail, que a su vez usa el sistema de correo del propio servidor donde está alojada la web (la función mail de PHP). Es como enviar una carta sin remite desde un buzón compartido: sale, pero los grandes proveedores de correo, como Gmail u Outlook, la miran con mucha desconfianza.
Además, algunos alojamientos limitan o desactivan este envío para evitar que se use para mandar spam. El resultado es que el formulario «envía», pero el mensaje se pierde por el camino o acaba en correo no deseado. Es la causa más común cuando WordPress no envía correos, y la que da lugar a la solución de fondo que explicamos más adelante.
2. El remitente no corresponde a tu dominio
Muchos formularios vienen configurados para que el aviso llegue «de parte» del visitante: si alguien escribe con su cuenta de Gmail, el correo parece enviado desde esa cuenta. Parece cómodo, porque permite responder directamente, pero es una suplantación a ojos de los servidores de correo: tu web está enviando un mensaje en nombre de Gmail sin permiso de Gmail.
Lo correcto es que el remitente sea siempre una dirección de tu propio dominio, por ejemplo web@tuempresa.com, y que la dirección del visitante vaya en el campo «Responder a». Así sigues pudiendo contestar con un clic y el correo no levanta sospechas.
3. Tu dominio no tiene SPF ni DKIM configurados
SPF y DKIM son dos registros que se añaden a la configuración del dominio (sus DNS, que funcionan como la guía telefónica de internet). SPF indica qué servidores están autorizados a enviar correo en nombre de tu dominio. DKIM añade una firma digital a cada mensaje para demostrar que es auténtico y que nadie lo ha modificado. Existe un tercero, DMARC, que le dice al servidor que recibe qué hacer con los mensajes que no superan esas comprobaciones.
No es un detalle técnico menor. Las directrices para remitentes de Gmail (se abre en una pestaña nueva) exigen a todos los remitentes configurar la autenticación con SPF o DKIM en sus dominios de envío, y a quienes envían más de 5.000 mensajes al día les piden además DMARC. Si tu web envía avisos sin esa autenticación, es mucho más probable que Gmail los marque como spam o directamente los rechace. Microsoft aplica criterios parecidos en Outlook.
Es frecuente que el correo corporativo de la empresa tenga SPF bien configurado para su proveedor habitual, pero que no incluya el servidor de la web. El correo del equipo llega perfectamente y, sin embargo, los avisos del formulario no.
4. La dirección de destino está mal escrita o ya no existe
Parece obvio, pero ocurre más de lo que se piensa. El aviso va a una dirección que alguien configuró al crear la web: la de un empleado que ya no está, una cuenta antigua que se dio de baja al cambiar de proveedor de correo o una dirección con una letra cambiada.
Revisa en los ajustes de notificaciones de cada formulario a qué dirección se envían los avisos. Ojo: en muchos plugins cada formulario tiene su propia configuración, así que puede que el de la página de contacto funcione y el de presupuestos no.
5. Un plugin, una actualización o la caché lo ha roto
Una web en WordPress es un conjunto de piezas: el núcleo, el tema y los plugins. Cuando se actualiza una de ellas sin comprobar el resto, a veces dejan de entenderse. El formulario puede dejar de enviar porque un plugin de optimización ha combinado o retrasado el código que lo hace funcionar, porque la caché sirve una versión antigua de la página o porque dos plugins intentan controlar el envío de correo a la vez.
La pista suele ser temporal: el formulario funcionaba bien hasta una fecha concreta que coincide con una actualización o con la instalación de algo nuevo. Si además el mensaje de prueba no se guarda en la web, esta causa gana puntos.
6. El antispam bloquea también a los clientes reales
Los formularios públicos atraen spam, y por eso es normal protegerlos con un sistema como reCAPTCHA, Turnstile o un campo trampa invisible. El problema aparece cuando esa protección está mal configurada: claves caducadas tras un cambio de dominio, un umbral demasiado estricto o un conflicto con el aviso de cookies que impide que el captcha se cargue hasta que el visitante acepta.
En esos casos el visitante pulsa «Enviar» y no pasa nada, o ve un error genérico, y abandona. Desde dentro parece que simplemente no llegan solicitudes.
7. Has cambiado de hosting, de dominio o de correo y nadie lo ajustó
Las migraciones son un momento de riesgo. Al cambiar la web de alojamiento, el servidor de envío cambia y el SPF del dominio deja de incluirlo. Al cambiar de proveedor de correo, por ejemplo de un correo del hosting a Google Workspace o Microsoft 365, los registros DNS se modifican y a veces se pierde la parte que autorizaba a la web. Al cambiar de dominio, las direcciones de envío y destino se quedan apuntando al antiguo.
Si tu formulario dejó de funcionar poco después de uno de estos cambios, empieza a buscar por aquí.
Configurar SMTP en WordPress: la solución de fondo
Para las causas 1, 2 y 3, que son las más habituales, la solución profesional es la misma: dejar de enviar los avisos con el sistema básico del servidor y hacerlo a través de un servicio de correo autenticado. Es lo que se llama configurar SMTP en WordPress. SMTP es simplemente el protocolo estándar con el que los servidores de correo se pasan los mensajes; lo importante es que el envío se hace con una cuenta real y verificada, en lugar de «a ciegas».
En la práctica, el proceso tiene estos pasos:
- Elegir desde dónde se enviará. Puede ser una cuenta del correo corporativo de la empresa (Google Workspace, Microsoft 365 o el correo del alojamiento) o un servicio especializado en correos automáticos de webs. La elección depende del volumen de envíos y del correo que ya use la empresa.
- Crear una dirección de envío del propio dominio, del tipo web@tuempresa.com o avisos@tuempresa.com, y usarla siempre como remitente.
- Instalar y configurar un plugin de SMTP en WordPress, que conecta la web con ese servicio. Todos los correos de la web pasan a salir por ahí: los del formulario, pero también los de recuperación de contraseña o, si tienes tienda, las confirmaciones de pedido.
- Configurar SPF, DKIM y DMARC en los DNS del dominio para que el servicio elegido quede autorizado y los mensajes vayan firmados.
- Ajustar los formularios: remitente de tu dominio, la dirección del visitante en «Responder a» y destinatarios revisados.
- Probar con varias bandejas (Gmail, Outlook y el correo de la empresa) y comprobar que los avisos llegan a la bandeja principal y no a spam.
Un aviso importante: no todo lo que se encuentra en internet es buena idea. Configurar el plugin de SMTP con la contraseña de una cuenta personal de Gmail, o con la de la cuenta del gerente, funciona al principio, pero falla en cuanto esa contraseña cambia o Google refuerza la seguridad, y expone una cuenta sensible. Lo recomendable es una cuenta o un acceso específico para la web.
Otras comprobaciones que no conviene saltarse
Si el envío ya es correcto y aun así hay problemas, toca revisar el resto de causas:
- Desactiva temporalmente la optimización y la caché en la página del formulario y vuelve a probar. Si funciona, hay que excluir esa página o ese código de la optimización.
- Revisa el antispam: que las claves del captcha correspondan al dominio actual y que el captcha se cargue aunque el visitante todavía no haya aceptado las cookies, si es imprescindible para enviar.
- Activa un registro de correos enviados. Muchos plugins de SMTP lo incluyen: así puedes ver si un aviso concreto salió de la web y qué respondió el servidor de destino.
- Comprueba el formulario en móvil y en ordenador, y con distintos navegadores. Algunos fallos solo aparecen en uno de ellos.
Si quieres profundizar en cómo debe diseñarse un formulario para que además convierta, con los campos justos y mensajes claros, tienes nuestra guía con todo lo que necesitas saber sobre formularios web. Y si tu web usa Elementor Pro con formularios de subida de archivos, revisa también lo que explicamos sobre la vulnerabilidad crítica en Elementor Pro y sus formularios, porque un formulario que funciona tampoco debe ser una puerta abierta.
Cómo evitar que el formulario de contacto no llegue otra vez
Arreglarlo una vez está bien; que no vuelva a pasar es lo que de verdad protege tu negocio. Estas son las medidas que recomendamos a cualquier empresa:
- Guarda siempre una copia de los envíos en la web. Si un día el correo falla, las solicitudes no se pierden.
- Envía los avisos a más de una persona o a una dirección compartida, no solo al buzón de alguien que puede estar de vacaciones o dejar la empresa.
- Haz una prueba al mes, o automatízala. Basta con rellenar el formulario y comprobar que llega. Apúntalo en el calendario.
- Prueba el formulario después de cada actualización importante de WordPress, del tema o de los plugins, y siempre después de una migración o de un cambio de correo.
- Documenta la configuración: desde qué cuenta se envía, a qué direcciones llegan los avisos y qué registros DNS están configurados. Si cambias de proveedor, esa ficha evita sorpresas.
- Vigila los números. Si las solicitudes por la web caen de golpe sin motivo aparente, sospecha del formulario antes que del mercado.
Muchas de estas tareas forman parte del mantenimiento normal de una web. En Uraldes tenemos más de 40 webs bajo mantenimiento activo y todos nuestros planes incluyen actualizaciones controladas de WordPress, plugins y temas, monitorización 24/7, copias de seguridad automáticas y soporte técnico ilimitado con respuesta en 24-48 horas. Puedes ver qué incluye cada plan, desde 100 €/mes y sin permanencia, en nuestra página de mantenimiento web para WordPress.
Si prefieres encargarte tú, nuestro artículo sobre mantenimiento WordPress para evitar problemas repasa las tareas básicas que conviene hacer con regularidad.
Cuándo conviene pedir ayuda
Algunas comprobaciones, como enviar una prueba, revisar el spam o corregir la dirección de destino, están al alcance de cualquiera. Otras, como tocar los registros DNS del dominio o configurar SMTP en WordPress, tienen más riesgo: un error en el SPF o en el DMARC puede hacer que deje de llegar también el correo normal de la empresa, no solo el de la web.
Te recomendamos pedir ayuda profesional si:
- No tienes acceso al panel del dominio o no sabes quién lo gestiona.
- Usas un correo corporativo con varias personas y no quieres arriesgarte a interrumpirlo.
- El problema apareció tras una migración, un cambio de hosting o un cambio de dominio.
- Has probado lo básico y el formulario de contacto no envía correos de forma intermitente: unos días sí y otros no.
- Tienes una tienda online y también fallan las confirmaciones de pedido, porque ahí el problema afecta directamente a las ventas y a la confianza del cliente.
En esos casos, lo sensato es que alguien revise de forma ordenada todo el camino del correo: formulario, web, servidor de envío, dominio y bandeja de destino.
Conclusión
Que el formulario de contacto no envía correos es uno de los fallos más caros y menos visibles que puede tener una web de empresa. Casi nunca es mala suerte: suele deberse a que la web envía los avisos con el sistema básico del servidor, con un remitente que no es de tu dominio o sin la autenticación SPF y DKIM que hoy exigen Gmail y otros proveedores. A eso se suman los fallos tras actualizaciones, migraciones o un antispam demasiado estricto.
La solución de fondo pasa por enviar a través de un servicio de correo autenticado, configurar bien el dominio, guardar una copia de los envíos y probar el formulario con regularidad. Con eso, tu web vuelve a hacer lo que se espera de ella: convertir visitas en conversaciones con clientes.
¿Tu formulario no funciona y no sabes por dónde empezar?
En Uraldes llevamos más de 15 años diseñando y manteniendo webs en WordPress para empresas de la Costa del Sol y de toda España. Si sospechas que estás perdiendo solicitudes, cuéntanos qué ocurre y revisaremos tu caso. Contacta con Uraldes y te respondemos en menos de 24 horas.
Este artículo ha sido elaborado con apoyo de inteligencia artificial y revisado y editado por el equipo de Uraldes antes de su publicación.






