← RFC Reference

RFC 8689: Opción SMTP Requerir TLS

Standards Track Transport Security Published March 2026
ELI5: El cifrado de correo electrónico normal es como pedirle a un mensajero "por favor, usa el camión blindado si está disponible". Si el camión blindado está ocupado, el mensajero se encoge de hombros y usa una furgoneta normal. REQUIRETLS es un sello en el sobre que dice "camión blindado o no lo entregues en absoluto". El mensaje preferiría rebotar que viajar sin cifrar.

Por qué esto existe

El cifrado de correo de servidor a servidor (vía STARTTLS) es oportunista por defecto. Si el servidor receptor no admite TLS, o si un intermediario elimina la capacidad de STARTTLS, la mayoría de los servidores de envío recurrirán a la entrega en texto plano. El mensaje llega, pero sin cifrado.

Tecnologías como MTA-STS y DANE abordan esto a nivel de dominio — permiten que un dominio receptor declare "todo el correo dirigido a nosotros debe usar TLS." Pero esas son políticas del lado del receptor. El remitente no tenía forma de decir "este mensaje específico requiere TLS en cada salto."

RFC 8689 cubre esa brecha con dos mecanismos complementarios:

Cómo funciona

La extensión REQUIRETLS SMTP

El remitente anuncia su intención durante la transacción SMTP agregando REQUIRETLS como parámetro al comando MAIL FROM:

# El servidor anuncia soporte de REQUIRETLS en EHLO S: 220 mx.example.com ESMTP C: EHLO sender.example.org S: 250-mx.example.com S: 250-STARTTLS S: 250-REQUIRETLS S: 250 OK # Actualizar a TLS primero C: STARTTLS S: 220 Go ahead # ... protocolo de enlace TLS con verificación de certificado ... C: EHLO sender.example.org S: 250-mx.example.com S: 250-REQUIRETLS S: 250 OK # Enviar con bandera REQUIRETLS C: MAIL FROM:<alice@example.org> REQUIRETLS S: 250 OK C: RCPT TO:<bob@example.com> S: 250 OK

Qué sucede en cada salto

Cuando un servidor de retransmisión procesa un mensaje con la bandera REQUIRETLS, debe aplicar estas reglas antes de reenviar:

  1. TLS es obligatorio. La conexión al siguiente salto debe usar TLS. Si el siguiente servidor no admite STARTTLS, el mensaje no debe entregarse — rebota.
  2. La verificación de certificado es requerida. El certificado TLS del siguiente salto debe ser válido y coincidir con el nombre de host del servidor (vía DANE/TLSA o Web PKI). Los certificados autofirmados o no coincidentes causan un rechazo.
  3. La bandera REQUIRETLS se propaga. La retransmisión debe pasar el parámetro REQUIRETLS al siguiente salto si también admite la extensión. Si el siguiente salto no admite REQUIRETLS, la retransmisión aún puede entregar si puede verificar TLS vía DANE o MTA-STS.

El encabezado TLS-Required

Para los remitentes que envían a través de un MSA y no controlan directamente los parámetros SMTP, el encabezado TLS-Required proporciona la misma señal:

TLS-Required: No ; Espera — ¿"No" significa "no requerir TLS"? ; Correcto. El encabezado tiene dos valores: ; TLS-Required: No → explícitamente desactivar REQUIRETLS ; (usar TLS oportunista normal) ; La ausencia del encabezado significa comportamiento normal. ; La bandera de sobre REQUIRETLS es la señal positiva.

El encabezado TLS-Required: No está específicamente diseñado como mecanismo de exclusión. Le dice al MTA de envío: "incluso si REQUIRETLS normalmente se aplicaría a este mensaje (por ejemplo, debido a una política de dominio), no lo hagas cumplir para este mensaje en particular." Esto es útil para mensajes como reestablecimientos de contraseña o notificaciones donde la entrega es más importante que el cifrado garantizado.

Comportamiento de rechazo

Cuando REQUIRETLS impide la entrega, el servidor de envío genera un informe de no entrega (rechazo). El rechazo en sí mismo también debe enviarse a través de TLS — REQUIRETLS se aplica a mensajes DSN (Delivery Status Notification) también. Si el rechazo no se puede entregar de forma segura, se descarta silenciosamente en lugar de enviarse en texto plano (para evitar filtrar información sobre el mensaje original).

# El siguiente salto no admite TLS — REQUIRETLS impide la entrega C: EHLO relay.example.org S: 250-mx.recipient.com S: 250 OK # No hay STARTTLS anunciado — no se puede entregar con REQUIRETLS # La retransmisión genera un rechazo a alice@example.org: # 550 5.7.30 REQUIRETLS support required but not available

Detalles técnicos clave

Relación con MTA-STS y DANE

Mecanismo Quién establece la política Alcance Método de verificación
MTA-STS Dominio receptor Todo correo al dominio Web PKI (descarga HTTPS)
DANE Dominio receptor Todo correo al dominio DNSSEC + registros TLSA
REQUIRETLS Servidor/usuario de envío Por mensaje DANE o MTA-STS en cada salto

REQUIRETLS es complementario, no competitivo. MTA-STS y DANE protegen el correo de entrada del dominio receptor. REQUIRETLS protege un mensaje saliente específico. Un mensaje con REQUIRETLS se valida usando DANE o MTA-STS en cada salto — si ninguno está disponible para un salto, la entrega falla.

Requisitos de versión de TLS

REQUIRETLS requiere TLS 1.2 o posterior. Las conexiones que utilizan TLS 1.0 o 1.1 no satisfacen el requisito, consistente con RFC 8996 que depreca versiones de TLS más antiguas.

Códigos de estado mejorados

Código Significado
5.7.30 Se requiere soporte de REQUIRETLS pero no está disponible en el siguiente salto
5.7.31 REQUIRETLS no se puede honrar (por ejemplo, el certificado del siguiente salto no es válido)

Errores comunes

Impacto en la capacidad de entrega

Related RFCs