Servidor propio
Puedes servir la política MTA-STS desde cualquier servidor web con HTTPS. Necesitas cuatro cosas: un nombre DNS, un certificado, el fichero de política y dos registros TXT.
Si prefieres no mantener nada de esto, usa el MTA-STS alojado. Si tienes Kubernetes, el chart de Helm lo hace por ti.
1. Apunta mta-sts.<dominio> a tu servidor
Crea un registro A, AAAA o CNAME para mta-sts.example.com que llegue a tu servidor web.
2. Consigue un certificado
El certificado tiene que ser de una autoridad de confianza pública y cubrir mta-sts.example.com. Con Let's Encrypt:
sudo certbot certonly --nginx -d mta-sts.example.comCon el certificado caducado, los remitentes no pueden descargar la política. Siguen con la copia de su caché y, cuando caduca, dejan de aplicar MTA-STS: tu correo pierde la protección sin que nada avise. Renueva el certificado de forma automática.
3. Publica el fichero de política
Crea /var/www/mta-sts/mta-sts.txt:
version: STSv1
mode: testing
mx: aspmx.l.google.com
mx: *.aspmx.l.google.com
max_age: 604800Pon en mx todos tus servidores MX. Con Microsoft 365 es *.mail.protection.outlook.com. El RFC separa las líneas con CRLF; la mayoría de remitentes acepta también LF.
Sírvelo en https://mta-sts.example.com/.well-known/mta-sts.txt. Con nginx:
server {
listen 443 ssl;
server_name mta-sts.example.com;
ssl_certificate /etc/letsencrypt/live/mta-sts.example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/mta-sts.example.com/privkey.pem;
location = /.well-known/mta-sts.txt {
alias /var/www/mta-sts/mta-sts.txt;
default_type text/plain;
}
location / {
return 404;
}
}La respuesta tiene que ser un 200 directo, con Content-Type: text/plain. Los remitentes no siguen redirecciones al descargar la política.
4. Publica los registros TXT
| Nombre | Tipo | Valor |
|---|---|---|
_mta-sts.example.com |
TXT | v=STSv1; id=20261115093000 |
_smtp._tls.example.com |
TXT | v=TLSRPTv1; rua=mailto:<tu-dirección-de-informes> |
El id es una cadena de 1 a 32 letras o números. Una fecha y hora como 20261115093000 es fácil de mantener.
El segundo registro es TLS-RPT. Copia tu dirección de informes de la pestaña Registros DNS del dominio en DMARC Examiner, en Registro TLS-RPT.
Cambiar la política
- Edita el fichero de política.
- Cambia el
iddel registro TXT_mta-sts.
Hazlo en este orden. Si cambias el id primero, un remitente puede descargar la política antigua con el id nuevo y guardarla durante max_age.
Si olvidas cambiar el id, los remitentes siguen con la copia de su caché hasta que caduca.
Pasar a enforce y retirar
Sigue los pasos de Qué es MTA-STS: empieza en testing, revisa los informes TLS, pasa a enforce y, para retirar, publica mode: none durante un max_age entero antes de borrar los registros.
Errores frecuentes
| Síntoma en la tarjeta MTA-STS | Causa habitual |
|---|---|
| No configurado | Falta el registro TXT _mta-sts o no empieza por v=STSv1. |
| Política no accesible | El certificado no cubre mta-sts.<dominio>, ha caducado, o la URL responde con una redirección o un error. |
| Política no válida | Al fichero le falta version: STSv1 o mode. |
Comprobar
dig +short TXT _mta-sts.example.com
curl -sv https://mta-sts.example.com/.well-known/mta-sts.txtEl verificador de cumplimiento de email comprueba el registro TXT, el fichero y su certificado de una vez.