Wordpress

Formulario que no llega: cómo arreglamos el correo saliente de WordPress

El aviso llegó así: «el libro de reclamaciones da error». La web de Proba Inmobiliaria, una página obligatoria por ley, y un formulario que al enviarse mostraba un error genérico. El visitante rellenaba todo, pulsaba enviar y recibía un mensaje rojo sin explicación. La causa no estaba en el formulario, y es la misma que rompe miles de formularios en Perú todos los días.

El diagnóstico: el formulario funcionaba

Lo primero fue dejar de mirar el formulario y mirar lo que respondía el servidor. Enviando desde la terminal, la respuesta era clara: el envío fallaba en la acción de correo, no en la validación ni en los campos.

Es decir, el formulario recibía los datos, los validaba, armaba el mensaje y, al pedirle a WordPress que lo enviara, WordPress decía que no. Y como la única acción configurada era «enviar un correo», cualquier fallo de correo rompía el envío entero.

Las tres causas del fallo: el servidor no tiene función de correo configurada, el dominio usa Google Workspace y su registro SPF rechaza al servidor, y el formulario tenía el correo como única acción

Debajo había tres problemas encadenados:

1. No había ningún plugin de correo saliente. El sitio dependía de la función de correo de PHP del servidor, que en ese hosting no estaba configurada. WordPress intentaba enviar y recibía un no.

2. Aunque hubiera enviado, habría rebotado. El dominio usa Google Workspace para su correo. Su registro de autorización de remitentes dice, textualmente, que solo los servidores de Google pueden enviar correo en nombre de ese dominio. Un correo salido del servidor web habría ido directo a spam o al rechazo.

3. El formulario no guardaba nada. Esto es lo que convierte un problema en un desastre: durante el tiempo que estuvo fallando, cada persona que rellenó el formulario perdió su mensaje. No quedó ni rastro en la base de datos.

Lo primero que hicimos no fue arreglar el correo

Fue dejar de perder datos. Activamos el guardado de envíos en la base de datos y lo añadimos como acción del formulario, junto a la del correo. Desde ese momento, cada envío queda registrado y se puede consultar y exportar desde el escritorio, aunque el correo falle.

Para un libro de reclamaciones eso no es una comodidad, es una obligación: hay que conservar las hojas. Pero la lógica vale para cualquier formulario de un negocio. El correo es una notificación, no un sistema de registro. Qué más exige Indecopi, además de guardar cada hoja, está en la guía de libro de reclamaciones virtual en WordPress. Si tu única copia de un contacto es un correo en una bandeja de entrada, ya perdiste contactos y no lo sabes.

Con eso puesto, la respuesta del servidor pasó a ser correcta y el visitante dejó de ver el error. Después vino el correo.

Cómo se arregla el correo saliente, en orden

Dos caminos para el correo saliente de WordPress: usar la cuenta de Google Workspace del cliente con una contraseña de aplicación, o un servicio de envío externo autenticando el dominio en el DNS

Hay dos caminos y la elección depende de quién controla el correo del dominio.

Camino A: la propia cuenta de Google Workspace del cliente. Se instala un plugin de correo saliente y se configura con el servidor de salida de Google, puerto 587 y cifrado STARTTLS. Hay dos detalles que hacen fallar esto a casi todo el mundo:

  • La contraseña no es la del buzón: es una contraseña de aplicación de 16 letras que se genera aparte, y que exige tener activada la verificación en dos pasos de esa cuenta. Usar la contraseña normal devuelve siempre un error de credenciales.
  • El usuario tiene que ser el correo completo, con el dominio incluido.

Y un bloqueo que no depende de ti: si el administrador del Workspace del cliente tiene deshabilitadas las contraseñas de aplicación, la opción ni aparece. Ahí toca pedírselo o pasar al camino B.

Camino B: un servicio de envío externo. Se autentica el dominio en el proveedor (tres registros en el DNS), se genera una clave y se configura el plugin con ella. Es el camino que usamos por defecto cuando no controlamos el correo del cliente, y el que recomendamos en todos nuestros servidores. La ventaja es que deja de importar desde qué IP sale el correo.

Dos errores que cuestan una tarde

Usar un correo de la agencia como cuenta de envío. Funciona en la prueba y es un desastre en producción: el proveedor reescribe el remitente, los reclamos del cliente salen «desde» la agencia y las respuestas de los consumidores llegan a la bandeja equivocada.

No forzar el remitente. Si no se activa esa opción, los formularios intentan enviar poniendo como remitente el correo del propio visitante. Ningún servicio autenticado permite eso, porque es exactamente lo que hace la suplantación, y rechaza el envío. Esta es, en nuestra experiencia, la causa número uno de «lo configuré y sigue sin funcionar».

La comprobación final, que casi nadie hace

Checklist de cinco pasos para dar por cerrado el correo saliente de WordPress: correo de prueba recibido, buzón de destino existente, guardado de envíos activo, envío real de prueba y borrado de la prueba

Que el plugin diga «correo de prueba enviado» no significa que el sistema funcione. Nuestro cierre son cinco pasos:

  1. El correo de prueba del plugin llega a una bandeja real, y en su cabecera la firma del dominio aparece como válida.
  2. El buzón de destino existe. Suena obvio; es el fallo más tonto y más frecuente. Si la dirección de aviso no está creada en el Workspace, el correo sale, llega y rebota.
  3. El guardado de envíos sigue activo, junto al correo y no en su lugar.
  4. Un envío real desde el formulario público, no desde el botón de prueba del plugin. Son dos caminos distintos del código.
  5. Se borra el envío de prueba de la base de datos.

Por qué esto pasa tanto en Perú

Por una combinación muy común: el correo del dominio está en Google Workspace y la web está en un hosting con Plesk o cPanel. Son dos proveedores distintos para dos cosas que el visitante ve como una sola. El servidor web no tiene permiso para enviar en nombre del dominio, y nadie lo descubre hasta que un formulario importante deja de llegar, muchas veces semanas después.

Es también la razón por la que, en todos los servidores que montamos, el correo del sitio va por un servicio externo desde el primer día, antes de que haya un solo formulario publicado. Es parte de lo que entra en el mantenimiento web, junto con lo demás que describimos en mantenimiento de WordPress.

Preguntas frecuentes sobre el correo de WordPress

¿Por qué WordPress no envía correos?

Casi siempre por una de dos razones: el servidor no tiene configurada la función de correo, o el dominio tiene su correo en otro proveedor y su registro de autorización rechaza los envíos del servidor web. Ambas se resuelven con un plugin de correo saliente autenticado.

¿Qué es una contraseña de aplicación y por qué la necesito?

Es una clave de 16 letras que se genera específicamente para que un programa acceda a tu cuenta de correo, sin darle tu contraseña real. Google y la mayoría de proveedores ya no aceptan la contraseña del buzón para conexiones de este tipo. Requiere tener activada la verificación en dos pasos.

¿Mis formularios se pierden si falla el correo?

Si el correo es la única acción configurada, sí, y sin dejar rastro. Por eso lo primero que activamos siempre es el guardado de envíos en la base de datos. El correo avisa; la base de datos conserva.

¿Puedo usar mi Gmail personal para enviar los correos de la web?

Técnicamente sí, pero no deberías: los correos saldrán con tu dirección personal, las respuestas llegarán ahí, y si algún día cambias de cuenta la web deja de enviar. Usa una dirección del dominio del negocio.

¿Cuánto cuesta esto?

Nada o casi nada. Los plugins de correo saliente tienen versión gratuita, y los servicios de envío incluyen unos cientos de correos diarios sin costo, muy por encima de lo que mueve un formulario de contacto normal. Lo que cuesta es la hora de configurarlo bien.

Conclusión

Un formulario que falla casi nunca es un problema de formulario. Es correo: el servidor no puede enviar, o no tiene permiso para enviar en nombre del dominio. La reparación es de una tarde, pero el orden importa: primero se deja de perder datos guardando los envíos, después se autentica el correo, y al final se comprueba con un envío real desde la página pública.

En Lucuma Agency, agencia de marketing digital en Lima, esto es parte del montaje estándar de toda web que entregamos, y lo revisamos en cada mantenimiento. Si llevas tiempo sin recibir formularios y no sabes si es que no te escriben o es que no te llegan, lo vemos en nuestras webs para inmobiliarias y en el resto de proyectos: diseño web para inmobiliarias o agenda una consultoría gratis y lo comprobamos en 10 minutos.

Carlos MurilloFundador de Lucuma Agency. Marketing serio, trato de amigos.

¿Quieres resultados así en tu web?

Agenda una consultoría gratis de 30 minutos.

Agenda tu reunión

Otros blogs que pueden interesartes

Integrar tu web con un CRM inmobiliario: Sperant y alternativas

En casi todas las inmobiliarias con las que trabajamos, el lead hace el mismo viaje absurdo: entra por el formulario...

Migrar una web a otro hosting sin caída ni pérdida de SEO

Cambiar de servidor da miedo por una razón sensata: se hace poco, y cuando sale mal, sale mal en público....

WooCommerce con Yape y Plin: qué pasarela elegir en Perú

La pregunta llega siempre igual: «¿qué pasarela me recomiendas?». Y la respuesta útil no empieza por un nombre, porque las...

Cómo hacer un plugin a medida en WordPress y cuándo vale la pena

Hay un momento, en bastantes proyectos, en que la búsqueda del plugin correcto se convierte en el problema. Probaste tres,...

Libro de reclamaciones virtual en WordPress: cómo cumplir con Indecopi

Casi todos los libros de reclamaciones virtuales que auditamos cumplen por fuera y no cumplen por dentro. Tienen el aviso,...

Formulario que no llega: cómo arreglamos el correo saliente de WordPress

El aviso llegó así: «el libro de reclamaciones da error». La web de Proba Inmobiliaria, una página obligatoria por ley,...

Plugins de WordPress: los 8 que instalamos siempre y los 5 que nunca

Las listas de «los 50 mejores plugins» no sirven para decidir. Sirven para instalar cincuenta plugins. Esta es la nuestra,...

Backups de WordPress: la rutina que te salva y la que te hace creer que estás a salvo

Casi todos los negocios a los que preguntamos tienen backups. Casi ninguno ha restaurado uno. Esas dos frases juntas son...

Hosting para WordPress en Perú: compartido, VPS o Plesk

Casi todas las conversaciones sobre hosting empiezan por el precio y terminan en el lugar equivocado. La pregunta útil es...

SEO internacional: cómo posicionamos un negocio en otro país desde Perú

Cuando un negocio quiere vender fuera de su país, la conversación casi siempre empieza mal: por la traducción. Y la...

Datos estructurados para negocios locales: qué poner y qué no

Los datos estructurados son el trozo de código que le explica a Google, en un idioma que no admite interpretación,...

Contenido generado con IA y SEO: qué penaliza Google de verdad

La pregunta llega en casi todas las reuniones: «si uso inteligencia artificial para escribir, ¿Google me penaliza?». La respuesta corta...

Enviar mensaje