Ir al contenido

Por qué los correos del formulario de tu web llegan a spam (y cómo lo arreglan SPF, DKIM y DMARC)

¿Los mensajes del formulario de tu web van a spam o no llegan? Casi siempre el problema es cómo se envían. Qué revisar y los tres registros DNS que lo corrigen.

4 min de lectura

Un posible cliente rellena tu formulario de contacto. La web le dice “Gracias, te responderemos pronto”. El mensaje acaba en tu carpeta de spam, o en ninguna parte, y nunca respondes. Ninguno de los dos se entera.

Es uno de los problemas más comunes que encontramos al revisar la web de una pequeña empresa, y casi nunca tiene que ver con el contenido del mensaje. Tiene que ver con quién dice el correo que lo envía y con si tu dominio puede demostrarlo.

Cómo saber si tienes el problema

Envíate una prueba a través de tu propio formulario, desde una dirección de Gmail y desde una de trabajo, y luego:

  • Revisa el spam y las pestañas “Promociones” u “Otros”, no solo la bandeja de entrada.
  • En Gmail, abre el mensaje, haz clic en los tres puntos y elige Mostrar original. Arriba verás tres líneas: SPF, DKIM y DMARC, cada una con PASS o FAIL.

Si alguna falla, o no aparece, el resto de este artículo es para ti. Revisa también los logs del hosting o de la herramienta del formulario, si los tiene: un mensaje “enviado” que rebotó solo aparece ahí.

La causa habitual: el formulario se hace pasar por el visitante

Muchos formularios de contacto, sobre todo plugins antiguos de WordPress y scripts rápidos, envían el mensaje desde la dirección del propio visitante. Tu servidor envía un correo que dice venir de maria@yahoo.com.

Para quien lo recibe, eso parece exactamente una falsificación, porque lo es: no lo envió Yahoo, lo envió tu servidor. Dominios como yahoo.com publican una política estricta que pide a los demás proveedores rechazar el correo que dice venir de ellos pero no supera la autenticación. Así que el mensaje se rechaza o termina en spam.

La solución es sencilla y no pierdes nada:

  • De (From): una dirección de tu propio dominio, como web@tuempresa.com.
  • Responder a (Reply-To): la dirección del visitante.

Sigues pulsando “Responder” y contestas directamente al visitante. La única diferencia es que el correo ahora dice la verdad sobre su origen.

Los tres registros que demuestran que un correo es tuyo

Enviar desde tu dominio solo sirve si tu dominio puede respaldar al servidor que envía. Eso es lo que hacen tres registros DNS.

Registro Qué dice Dónde está
SPF “Estos servidores pueden enviar correo en nombre de mi dominio.” Un registro TXT en el dominio
DKIM Una firma digital en cada mensaje, comprobada con una clave pública en tu DNS Un registro TXT o CNAME que te da tu proveedor de correo
DMARC “Si un mensaje falla SPF y DKIM, haz esto con él y envíame informes.” Un registro TXT en _dmarc.tudominio.com

Desde febrero de 2024, Gmail y Yahoo exigen a todo remitente autenticarse con SPF o DKIM. Quien envía en volumen (unos 5.000 mensajes al día a sus usuarios) necesita además los dos, más DMARC y la baja con un solo clic. El formulario de una pequeña empresa está lejos de ese volumen, pero los filtros de los proveedores se basan en estas reglas, así que el correo que no las cumple parte con desventaja.

Cómo arreglarlo, paso a paso

1. Envía a través de un servicio de correo transaccional

No dependas de la función de correo integrada del servidor web. Usa un servicio pensado para enviar correo de aplicaciones, como Resend, Postmark, Amazon SES o el SMTP de tu proveedor de correo. Se ocupan de la reputación y los reintentos, y te muestran si cada mensaje se entregó.

2. Verifica tu dominio en ese servicio

El servicio te da unos registros DNS para añadir: normalmente uno de DKIM y, a menudo, uno de SPF para un subdominio de envío. Añádelos exactamente como aparecen, en tu proveedor de DNS (donde se gestiona el DNS de tu dominio, que puede no ser donde lo compraste). Espera a que el servicio muestre el dominio como verificado.

3. Un solo registro SPF por dominio

Un dominio puede tener solo un registro SPF. Si usas Google Workspace para el buzón y otro servicio envía con el mismo dominio, ambos van en el mismo registro:

Un registro SPF para dos remitentes
v=spf1 include:_spf.google.com include:spf.example-sender.com ~all

Dos registros v=spf1 separados hacen que SPF falle para todos. SPF también deja de funcionar a partir de diez consultas DNS, así que elimina los include: de servicios que ya no usas.

4. Publica una política DMARC, empezando con suavidad

Un primer registro DMARC, en _dmarc.tuempresa.com
v=DMARC1; p=none; rua=mailto:dmarc-reports@tuempresa.com

p=none no cambia nada en la entrega; pide a los proveedores que te envíen informes sobre quién envía en nombre de tu dominio. Tras unas semanas, cuando los informes muestren solo tus propios servicios, pasa a p=quarantine. Eso es lo que protege tu dominio de quien envía facturas falsas en tu nombre.

5. Vuelve a probar

Envía otro mensaje por el formulario y mira Mostrar original. Quieres PASS en las tres líneas, y la línea de DKIM debe mencionar tu dominio, no el del servicio de envío.

También puedes comprobar los registros desde una terminal:

Consultar tus registros SPF y DMARC
dig +short TXT tuempresa.com
dig +short TXT _dmarc.tuempresa.com

Cuándo pedir ayuda

Si el DNS de tu dominio está repartido entre el registrador, un hosting antiguo y un proveedor de correo, y nadie recuerda quién configuró qué, el primer paso más seguro es un inventario claro antes de tocar nada. Es parte de lo que cubre nuestro diagnóstico web: accesos, DNS y correo, junto con seguridad, velocidad y SEO, con una lista priorizada de lo que hay que corregir (mira un informe de ejemplo). En nuestros planes, el formulario de contacto, la configuración de envío y estos registros DNS los configuramos y supervisamos nosotros.

Dominios y correoMantenimiento web

Este artículo también está disponible en: EnglishPortuguês日本語中文