Skip to main content

Conformité CAN-SPAM US pour l’e-mail

L’e-mail est un canal Orbit entièrement livré — vous envoyez des messages transactionnels et de marketing par POST /api/v1/messages/email (voir E-mail). Tout e-mail commercial que vous envoyez à des destinataires américains relève du CAN-SPAM Act de 2003 (15 U.S.C. § 7701 et suivants), appliqué par la FTC. CAN-SPAM est une loi du côté de l’expéditeur : elle régule ce que votre message contient et comment vous gérez les opt-outs, pas quel transport le transporte. Les contrôles de CAN-SPAM sont la propriété du locataire. Orbit ne mandate jamais votre posture — il vous donne les surfaces d’envoi (domaines d’expéditeur, modèles, en-têtes) et la couche de suppression qui fait tenir un opt-out. Cette page correspond chaque exigence légale à la surface Orbit que vous avez déjà, afin de combler les écarts délibérément.

Les sept exigences de contenu CAN-SPAM

La FTC résume la loi en sept exigences. Pour chacune : ce que la loi demande, et quelle surface Orbit couvre la mécanique. L’exigence 1 a une condition mécanique stricte, et les exigences 5–6 en ont une du côté de l’opt-out. Les deux valent la peine d’être énoncées.

Identité From / domaine d’expéditeur

La première exigence de CAN-SPAM — pas d’en-têtes fausses ou trompeux — est appuyée par la vérification de domaine d’Orbit. Un domaine d’envoi personnalisé n’accepte du trafic qu’une fois ses enregistrements DKIM, SPF et DMARC vérifiés (configurez-les sous Canaux → E-mail → Domaines ; une vérification de santé quotidienne revalide et les dérives sont signalées par une notification en cloche). Un domaine non vérifié échoue avec un 403 au moment de l’envoi, ce qui signifie que les destinataires voient toujours une identité From d’où votre courrier provient réellement — la propriété « l’en-tête ne peut pas mentir » que la loi demande. Terminez la configuration du domaine d’abord ; c’est la condition mécanique de tout le reste de cette page. Voir E-mail → configuration de domaine pour le tableau des enregistrements DNS, le flux Vérifier le DNS, et l’endpoint de statut par enregistrement en feux tricolores.
Le SMS et la voix ont une posture d’identité d’expéditeur analogue — Enregistrement de l’ID d’expéditeur — mais l’e-mail n’a pas d’étape d’enregistrement de ce type. La vérification de domaine est l’équivalent du côté e-mail, et c’est une barrière de délivrabilité plutôt qu’une barrière légale.

Mécanisme d’opt-out

Deux manifestations physiques de l’obligation d’opt-out, toutes deux du côté de l’expéditeur :
  1. Adresse postale physique. Incluez l’adresse postale physique valide de votre organisation (une adresse de rue, une boîte postale, ou une boîte privée enregistrée) dans le pied de page de chaque e-mail commercial. Gardez-la dans un bloc de pied de page partagé afin que chaque modèle la porte par construction.
  2. Lien de désinscription en un clic. Chaque e-mail sortant quittant Orbit porte un lien de désinscription dans le corps, aux côtés des en-têtes de transport décrits ensuite. Aucun menu d’utilisateur final, mur de connexion, ni étape de réponse courriel entre le clic et la suppression.
La cible de désinscription est une URL Orbit signée ; un clic écrit une entrée de suppression contre ce destinataire, de façon idempotente, et ajoute un événement d’audit email.unsubscribed. Le destinataire atterrit sur votre page de redirection configurée ou un accusé de réception par défaut. Les deux surfaces de suppression avec lesquelles vous composez sont documentées sur leurs propres pages et inchangées par celle-ci : le registre de suppression lui-même (Opt-Out et listes de suppression) et l’import/export CSV en lot qui déplace une liste existante (consent-suppression-export).
Orbit ne rend pas votre e-mail commercial pour vous — le HTML (ou le résultat des blocs rendus du constructeur d’e-mail) est le vôtre. Les sept exigences ci-dessus sont vérifiées par vos réviseurs, pas par une barrière de plateforme. Gardez le bloc de pied de page et la ligne de divulgation publicitaire dans votre modèle de base afin qu’aucune campagne ne parte sans eux.

Comportement de l’en-tête List-Unsubscribe

Aux côtés du lien dans le corps, chaque e-mail sortant définit les en-têtes du client destinataire que les principaux fournisseurs de messagerie (Gmail, Yahoo et autres) lisent pour leurs boutons de désinscription natifs :
  • List-Unsubscribe nomme où un client doit envoyer l’opt-out — une URL HTTPS et un rabattement mailto, selon RFC 2369.
  • List-Unsubscribe-Post signale la désinscription en un clic RFC 8058 : le fournisseur de messagerie peut POSTer vers l’URL de l’en-tête et l’opt-out doit se compléter sans autre interaction. Cette paire est aussi ce que les politiques d’expéditeurs en masse de Gmail et Yahoo (requises depuis 2024 pour les expéditeurs au-dessus de 5 000 messages/jour) demandent sur le trafic marketing.
Le POST de désinscription entrant atterrit à l’endpoint de désinscription d’Orbit — le même endpoint que celui pointé par votre lien dans le corps — où le jeton signé est vérifié et une ligne de suppression est écrite avec la portée email. (Si vous routez votre propre courrier entrant, notez la distinction du blog : analyse entrante concerne le contenu que vous recevez ; les désinscriptions se produisent sur le chemin sortant et ne touchent jamais vos routes entrantes.) Le parcours de bout en bout :
  1. Le destinataire clique le bouton « Se désinscrire » de Gmail ou votre lien de pied de page.
  2. Le fournisseur (ou le navigateur) POSTe vers l’URL List-Unsubscribe avec List-Unsubscribe=One-Click.
  3. Orbit vérifie le jeton signé, écrit une ligne de suppression de portée email pour le destinataire, et ajoute une entrée d’audit email.unsubscribed.
  4. Le prochain envoi vers ce destinataire — campagne, import de contacts, ou appel API — est abandonné avant expédition, car la barrière de suppression est fail-closed pour les entrées existantes (carte de posture).
Une requête détaillée — un envoi commercial avec la paire d’en-têtes correcte, l’adresse physique dans le pied de page, et le lien de désinscription résolu dans le corps à l’expédition :
Orbit fusionne l’unsubscribe_url, attache les en-têtes List-Unsubscribe / List-Unsubscribe-Post, et livre. Un clic du destinataire → suppression → un envoi ultérieur vers le même destinataire renvoie un résultat ignoré / supprimé sur le résultat d’envoi (et un événement d’audit email.unsubscribed est déjà au registre).

Portée de suppression pour l’e-mail

La portée de l’entrée de suppression décide quels canaux l’opt-out bloque, et le défaut est écrit par point d’entrée :
  • Un clic de désinscription / lien de désinscription / flux List-Unsubscribe écrit une entrée avec la portée email.
  • Un import CSV en lot infère email pour les lignes e-mail, et la colonne channel de l’import peut remplacer par ligne — dites all si vous voulez dire « cette adresse reste en dehors de tout ».
  • Les opt-outs de mot-clé STOP, du Centre de préférences et de l’API de consentement écrivent toujours la portée all, quel que soit le type d’adresse.
La conséquence est délibérée : un opt-out e-mail sous la portée email par défaut ne bloque pas le SMS ou la voix vers ce contact, et vice versa. C’est un choix du locataire, pas un défaut qu’Orbit a secrètement fixé pour vous — si votre politique est « une désinscription n’importe où signifie pas de marketing nulle part », routez soit l’opt-out par l’ API de consentement, soit importez en lot avec la colonne channel définie à all. La matrice de portée est énoncée dans Opt-Out et listes de suppression ; la carte de posture dans Vue d’ensemble de la posture de conformité dit quel défaut s’applique par point d’entrée.

Suppression des rejets et plaintes (l’autre flanc de la FTC)

CAN-SPAM ne concerne pas seulement les opt-outs. Les rejets durs et les plaintes d’abus sont aussi des signaux de santé que les fournisseurs de messagerie évaluent, et Orbit alimente votre liste de suppression à partir des mêmes événements :
  • Les rejets durs et les adresses invalides sont suivis par message ; l’adresse atterrit sur la liste de suppression afin qu’un envoi ultérieur soit abandonné avant expédition, protégeant la réputation de l’expéditeur.
  • Les plaintes pour spam (le destinataire appuie sur « Signaler comme spam ») alimentent le même registre — le destinataire est supprimé, et la plainte apparaît dans le flux des événements de livraison.
  • Les taux agrégés de rejets/plaintes par domaine sont visibles sur GET /api/v1/email/suppressions/reputation — la même surface que la page E-mail signale pour la prudence du réchauffage et des nouveaux domaines.
L’horloge de 10 jours ouvrables de la loi n’entre jamais en jeu ici : ces suppressions sont enregistrées au moment de l’événement, et la barrière de suppression s’exécute devant chaque expédition.

L’e-mail non américain n’est pas couvert ici

Cette page se limite au seul CAN-SPAM Act fédéral américain. D’autres juridictions superposent leurs propres règles sur l’e-mail commercial — le modèle de consentement exprès de CASL au Canada (voir CASL — Loi canadienne anti-pourriel), le régime GDPR + ePrivacy dans l’UE/EEE, le PECR au Royaume-Uni. Pour les règles d’expéditeur par pays et la documentation requise, voir Exigences de conformité par pays. Pour la carte de chaque surface de conformité et quels commutateurs passent où, voir la vue d’ensemble de la posture de conformité.

Références connexes