RFC 2369 : En-têtes List-Unsubscribe et List-*
Pourquoi cela existe
Avant la RFC 2369, il n'existait pas de moyen standard pour que les messages de listes de diffusion annoncent les URL de désinscription ou de gestion. Les utilisateurs devaient fouiller dans les pieds de page des messages pour trouver un lien de désinscription — s'il en existait un. Cette RFC a défini une famille de champs d'en-tête List-* que les clients de messagerie peuvent analyser et présenter comme des éléments d'interface utilisateur (comme le lien « Unsubscribe » de Gmail à côté du nom de l'expéditeur).
Aujourd'hui, ces en-têtes sont essentiels pour le courrier électronique commercial. Gmail, Yahoo et Apple Mail utilisent tous List-Unsubscribe pour afficher des boutons de désinscription en un clic. La RFC 8058 a par la suite étendu cela avec un vrai mécanisme POST en un clic.
Comment cela fonctionne
Chaque en-tête List-* contient une ou plusieurs URI (entre chevrons, séparées par des virgules) que les clients de messagerie peuvent utiliser pour gérer la liste. La plus importante est List-Unsubscribe, mais la RFC définit un ensemble complet :
La famille complète des en-têtes List-*
| En-tête | Objectif |
|---|---|
List-Unsubscribe |
URL(s) pour se désinscrire de la liste |
List-Subscribe |
URL(s) pour s'inscrire à la liste |
List-Help |
URL(s) pour la documentation ou l'aide de la liste |
List-Post |
Adresse pour envoyer des messages à la liste (ou NO si la publication n'est pas autorisée) |
List-Owner |
Adresse de contact de l'administrateur de la liste |
List-Archive |
URL vers l'archive des messages de la liste |
Exemples d'en-têtes
; URL HTTPS et secours mailto List-Unsubscribe: <https://example.com/unsub?id=abc123>, <mailto:unsub-abc123@example.com> ; Désinscription en un clic (ajout de la RFC 8058) List-Unsubscribe-Post: List-Unsubscribe=One-Click ; Autres en-têtes 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>
Schémas URI
La RFC permet n'importe quel schéma URI, mais en pratique deux sont utilisés :
-
mailto:— le client envoie un e-mail à l'adresse spécifiée pour déclencher l'action. C'est le mécanisme original et sert toujours de secours. -
https:— le client ouvre une URL web. Combiné avecList-Unsubscribe-Postde la RFC 8058, cela permet une véritable désinscription en un clic via une requête HTTP POST.
Lorsque plusieurs URI sont fournis, le client de messagerie choisit celui à utiliser. La plupart des clients modernes préfèrent HTTPS à mailto quand List-Unsubscribe-Post est présent.
Détails techniques clés
Format correct de l'en-tête
Les URI doivent être entre chevrons. Plusieurs URI sont séparés par des virgules. Les espaces blancs et le pliage de ligne sont autorisés selon les règles standard de pliage d'en-tête (RFC 5322).
Correct : List-Unsubscribe: <https://example.com/unsub?id=abc>, <mailto:unsub@example.com> Incorrect (chevrons manquants) : List-Unsubscribe: https://example.com/unsub?id=abc
L'URI mailto
Un URI mailto pour la désinscription peut inclure un sujet ou un corps :
List-Unsubscribe: <mailto:unsub@example.com?subject=unsubscribe-abc123>
Le système destinataire traite l'e-mail entrant pour déclencher la désinscription. Cela fonctionne même quand le client de messagerie du destinataire ne supporte pas la désinscription basée sur HTTPS.
List-Post : NO
Pour les listes d'annonces uniquement où les destinataires ne peuvent pas publier, utilisez la valeur spéciale :
List-Post: NO
Erreurs courantes
-
Chevrons manquants. Les URI doivent être enveloppés dans
< >. Sans eux, les clients de messagerie n'analyseront pas l'en-tête correctement. -
URL HTTPS sans List-Unsubscribe-Post. Si vous fournissez une URL HTTPS mais omettez l'en-tête
List-Unsubscribe-Post(RFC 8058), Gmail et Yahoo n'afficheront pas le bouton de désinscription en un clic. Ils exigent les deux en-têtes ensemble. - URL de désinscription qui nécessite une connexion. Le point de terminaison de désinscription doit fonctionner sans exiger que l'utilisateur se connecte. Il doit identifier l'abonné à partir des paramètres d'URL seuls.
- URL cassée ou expirée. Si l'URL de désinscription retourne une erreur ou redirige vers une page générique, les fournisseurs de boîtes aux lettres peuvent pénaliser votre réputation d'expéditeur. Ces URL doivent fonctionner de manière fiable.
- Ajout de List-Unsubscribe aux e-mails transactionnels. Les en-têtes List-* sont pour le courrier électronique en masse/commercial. Les ajouter aux réinitialisations de mot de passe, confirmations de commande ou autres messages transactionnels confond les destinataires et est sémantiquement incorrect.
- Ne pas inclure un secours mailto. Bien que HTTPS soit préféré pour un clic, un URI mailto assure la compatibilité avec les anciens clients de messagerie qui ne supportent pas la désinscription basée sur HTTP.
Impact sur la délivrabilité
-
Gmail et Yahoo l'exigent. Depuis février 2024, Gmail et Yahoo exigent
List-Unsubscribe(avec support un clic de la RFC 8058) pour les expéditeurs en masse. Les messages sans ces en-têtes sont plus susceptibles d'être filtrés. - Réduit les plaintes de spam. Quand les utilisateurs peuvent facilement se désinscrire via l'interface utilisateur du client de messagerie, ils sont beaucoup moins susceptibles de cliquer sur « Signaler le spam ». Des taux de plainte plus bas améliorent directement le placement dans la boîte de réception.
- Signale un envoi légitime. La présence d'en-têtes List-* correctement formatés est un signal positif pour les filtres anti-spam. Cela indique que l'expéditeur suit les bonnes pratiques et fournit une issue aux destinataires.
-
Intégration Apple Mail. Apple Mail utilise
List-Unsubscribepour afficher une bannière de désinscription en haut des messages. Les en-têtes manquants signifient une fonctionnalité manquante pour une part importante de votre audience.