Cómo comprobar MTA-STS antes de pasar a enforce
Antes de pasar MTA-STS de testing a enforce, comprueba cuatro cosas: el registro _mta-sts, el archivo de política, que cada host MX esté cubierto por la política y que los informes TLS-RPT no muestren fallos. Pega tus dominios en el comprobador masivo de MTA-STS para las tres primeras; tus informes TLS-RPT cubren la cuarta.
Comprueba MTA-STS en una lista de dominios →
Compruébalos de forma masiva
- Abre el comprobador masivo de MTA-STS.
- Pega los dominios, uno por línea: hasta 100 por ejecución, o 500 tras iniciar sesión gratis con Google.
- Pulsa Check MTA-STS (comprobar MTA-STS). Se leen los registros
_mta-stsy_smtp._tlsy los registros MX de cada dominio, y el archivo de política se descarga una vez por HTTPS. - Lee cada fila: Enforced, Testing, Off, Broken o Not set up, con el modo,
max_age, cualquier host MX que la política no cubra y la dirección TLS-RPT. - Cualquier dominio marcado como Broken, o con un MX sin cubrir, no está listo para enforce.
Hazlo a mano
El registro y el archivo de política, aquí para un dominio en modo testing:
dig +short txt _mta-sts.fastmail.com
# "v=STSv1; id=20260728T132000"
curl -s https://mta-sts.fastmail.com/.well-known/mta-sts.txt
# version: STSv1
# mode: testing
# mx: *.messagingengine.com
# max_age: 86400
Después comprueba cada host MX frente a las líneas mx: de la política (ejecútalo con bash):
d=fastmail.com
pol=$(curl -s https://mta-sts.$d/.well-known/mta-sts.txt | tr -d '\r')
for mx in $(dig +short mx $d | awk '{print $2}' | sed 's/\.$//'); do
ok=no
for p in $(echo "$pol" | awk '/^mx:/{print $2}'); do
[ "$mx" = "$p" ] && ok=yes
[ "${p#\*.}" != "$p" ] && [ "${mx#*.}" = "${p#\*.}" ] && ok=yes
done
echo "$mx covered=$ok"
done
# in2-smtp.messagingengine.com covered=yes
# in1-smtp.messagingengine.com covered=yes
Y el certificado que presenta cada MX, del que depende la política:
openssl s_client -starttls smtp -connect in1-smtp.messagingengine.com:25 \
-verify_hostname in1-smtp.messagingengine.com -verify_return_error -brief < /dev/null 2>&1 | grep -E "Verification|Peer certificate"
# Peer certificate: CN=*.messagingengine.com
# Verification: OK
Lo ejecutamos el 9 de noviembre de 2026. La prueba del comodín sigue la RFC 8461, sección 4.1: *.example.com coincide con mail.example.com "but not example.com or foo.bar.example.com" (pero no con example.com ni con foo.bar.example.com). Muchas redes domésticas y de oficina bloquean el puerto 25 saliente, así que puede que el paso de openssl tenga que ejecutarse desde un servidor. El comprobador masivo no prueba los certificados de los MX; este comando sí.
Qué arreglar antes de aplicar enforce
- Un MX sin cubrir. Añade una línea
mx:para él. La RFC 8461, sección 5 dice que en modo enforce los remitentes "MUST NOT deliver the message to hosts that fail MX matching or certificate validation or that do not support STARTTLS." (no deben entregar el mensaje a hosts que fallen la coincidencia de MX o la validación del certificado, o que no admitan STARTTLS). Esto muerde después de añadir un MX de respaldo o de cambiar de proveedor de correo. - El archivo de política no carga. Debe responder HTTP 200 en
mta-sts.<domain>con un certificado válido para ese nombre. La RFC dice "HTTP 3xx redirects MUST NOT be followed" (las redirecciones HTTP 3xx no deben seguirse), así que una redirección awwwcuenta como sin política. - Sin TLS-RPT. Publica
_smtp._tls.<domain>conv=TLSRPTv1; rua=mailto:...(RFC 8460). En modo testing, los informes son la única forma de ver los fallos. - El cambio. Cambia primero
mode: testingpormode: enforceen el archivo de política, y después cambia eliddel registro TXT para que los remitentes descarguen la nueva política. La sección 8.1 da ese orden, para que los remitentes nunca combinen un id nuevo con el archivo antiguo.max_agepuede ser como máximo 31557600 segundos (un año); la RFC 8461 espera semanas o más una vez que estés seguro.
La mayoría de los dominios no publican MTA-STS en absoluto; consulta nuestro estudio de adopción de MTA-STS. Para escribir los registros, usa el generador de MTA-STS.
Siguiente paso: comprueba las direcciones a las que escribes
MTA-STS protege el correo que entra en tu dominio. Los rebotes que dañan tus envíos vienen de las direcciones de tu propia lista. Súbela en /verify para comprobar cada buzón sin enviar nada. Las primeras 100 comprobaciones son gratis al iniciar sesión con Google, sin tarjeta.
Pro, $39 al mes: verificación de correos ilimitada.* Nunca medida, nunca se corta. Consulta los precios.
*Uso razonable: las primeras 100.000 verificaciones del mes a máxima velocidad, después más lento, nunca se corta.
Más para leer: audita la autenticación de correo de tu dominio, SPF, DKIM y DMARC explicados.
Preguntas frecuentes
¿Cómo sé que mi MTA-STS está listo para enforce?
El registro TXT _mta-sts existe una sola vez con un id válido, el archivo de política carga por HTTPS con un certificado válido y HTTP 200, cada host MX coincide con una línea mx:, cada MX presenta un certificado válido y tus informes TLS-RPT no muestran fallos.
¿Qué pasa si un host MX no está en mi política MTA-STS?
En modo testing, los remitentes que admiten TLS-RPT informan de un fallo y entregan igualmente. En modo enforce, la RFC 8461 dice que no deben entregar a ese host.
¿Puede redirigir la URL de la política mta-sts?
No. La RFC 8461 dice que las redirecciones HTTP 3xx no deben seguirse y que solo una respuesta 200 es una política válida.
¿Tengo que cambiar el id cuando paso a enforce?
Sí. Los remitentes comparan el id del registro TXT con la política que tienen en caché. Un id nuevo les indica que descarguen la política actualizada.
Verifica correos por 39,00 USD/mes, sin cortes
Comprobación SMTP real del buzón. Sin créditos ni cobro por correo.
Empezar