RFC 2369: Encabezados List-Unsubscribe y List-*
Por qué existe
Antes de RFC 2369, no había forma estándar de que los mensajes de listas de correo publicaran URLs de cancelación de suscripción o gestión. Los usuarios tenían que buscar en los pies de página del mensaje un enlace de cancelación de suscripción, si es que existía. Este RFC definió una familia de campos de encabezado List-* que los clientes de correo pueden analizar y presentar como elementos de interfaz de usuario (como el enlace "Darse de baja" de Gmail junto al nombre del remitente).
Hoy, estos encabezados son esenciales para el correo comercial. Gmail, Yahoo y Apple Mail usan List-Unsubscribe para mostrar botones de cancelación de suscripción de un clic. RFC 8058 luego extendió esto con un verdadero mecanismo POST de un clic.
Cómo funciona
Cada encabezado List-* contiene uno o más URI (entre corchetes angulares, separados por comas) que los clientes de correo pueden usar para la gestión de listas. El más importante es List-Unsubscribe, pero el RFC define un conjunto completo:
La familia completa de encabezados List-*
| Encabezado | Propósito |
|---|---|
List-Unsubscribe |
URL(s) para darse de baja de la lista |
List-Subscribe |
URL(s) para suscribirse a la lista |
List-Help |
URL(s) para documentación de listas o ayuda |
List-Post |
Dirección para enviar mensajes a la lista (o NO si no se permite publicar) |
List-Owner |
Dirección de contacto del administrador de la lista |
List-Archive |
URL del archivo de mensajes de la lista |
Ejemplos de encabezados
; URL HTTPS y respaldo mailto List-Unsubscribe: <https://example.com/unsub?id=abc123>, <mailto:unsub-abc123@example.com> ; Cancelación de suscripción de un clic (adición de RFC 8058) List-Unsubscribe-Post: List-Unsubscribe=One-Click ; Otros encabezados List-* List-Subscribe: <https://example.com/subscribe> List-Help: <https://example.com/list-help> List-Post: <mailto:discussion@example.com> List-Owner: <mailto:listadmin@example.com> List-Archive: <https://example.com/archive>
Esquemas URI
El RFC permite cualquier esquema URI, pero en la práctica se usan dos:
-
mailto:— el cliente envía un correo a la dirección especificada para activar la acción. Este es el mecanismo original y todavía sirve como respaldo. -
https:— el cliente abre una URL web. Combinado conList-Unsubscribe-Postde RFC 8058, esto permite una verdadera cancelación de suscripción de un clic mediante POST HTTP.
Cuando se proporcionan múltiples URI, el cliente de correo elige cuál usar. La mayoría de los clientes modernos prefieren HTTPS sobre mailto cuando List-Unsubscribe-Post está presente.
Detalles técnicos clave
Formato de encabezado correcto
Los URI deben estar entre corchetes angulares. Múltiples URI están separados por comas. Se permiten espacios en blanco y plegado de líneas según las reglas estándar de plegado de encabezados (RFC 5322).
Correcto: List-Unsubscribe: <https://example.com/unsub?id=abc>, <mailto:unsub@example.com> Incorrecto (faltan corchetes angulares): List-Unsubscribe: https://example.com/unsub?id=abc
El URI mailto
Un URI mailto para cancelación de suscripción puede incluir un asunto o cuerpo:
List-Unsubscribe: <mailto:unsub@example.com?subject=unsubscribe-abc123>
El sistema receptor procesa el correo entrante para activar la cancelación de suscripción. Esto funciona incluso cuando el cliente de correo del destinatario no admite cancelación de suscripción basada en HTTPS.
List-Post: NO
Para listas de solo anuncio donde los destinatarios no pueden publicar, use el valor especial:
List-Post: NO
Errores comunes
-
Corchetes angulares faltantes. Los URI deben estar entre
< >. Sin ellos, los clientes de correo no analizarán correctamente el encabezado. -
URL HTTPS sin List-Unsubscribe-Post. Si proporciona una URL HTTPS pero omite el encabezado
List-Unsubscribe-Post(RFC 8058), Gmail y Yahoo no mostrarán el botón de cancelación de suscripción de un clic. Requieren ambos encabezados juntos. - URL de cancelación de suscripción que requiere inicio de sesión. El punto final de cancelación de suscripción debe funcionar sin requerir que el usuario inicie sesión. Debe identificar al suscriptor únicamente a partir de los parámetros de URL.
- URLs rotas o expiradas. Si la URL de cancelación de suscripción devuelve un error o redirige a una página genérica, los proveedores de buzones pueden penalizar su reputación de remitente. Estas URLs deben funcionar de manera confiable.
- Agregar List-Unsubscribe a correo transaccional. Los encabezados List-* son para correo masivo/comercial. Agregarlos a restablecimientos de contraseña, confirmaciones de pedidos u otros mensajes transaccionales confunde a los destinatarios y es semánticamente incorrecto.
- No incluir un respaldo mailto. Si bien HTTPS es preferido para un clic, un URI mailto garantiza compatibilidad con clientes de correo más antiguos que no admiten cancelación de suscripción basada en HTTP.
Impacto en la capacidad de entrega
-
Gmail y Yahoo lo requieren. Desde febrero de 2024, Gmail y Yahoo requieren
List-Unsubscribe(con soporte de un clic de RFC 8058) para remitentes masivos. Los mensajes sin estos encabezados tienen más probabilidad de ser filtrados. - Reduce las denuncias de spam. Cuando los usuarios pueden darse de baja fácilmente a través de la interfaz de usuario del cliente de correo, es mucho menos probable que hagan clic en "Reportar como spam". Las tasas de denuncias más bajas mejoran directamente la colocación en la bandeja de entrada.
- Señala envío legítimo. La presencia de encabezados List-* correctamente formateados es una señal positiva para los filtros de spam. Indica que el remitente sigue las mejores prácticas y proporciona una forma de salir para los destinatarios.
-
Integración con Apple Mail. Apple Mail usa
List-Unsubscribepara mostrar un banner de cancelación de suscripción en la parte superior de los mensajes. Los encabezados faltantes significan funcionalidad faltante para una parte significativa de su audiencia.