En fait, j'ai commencé à y penser parce que j'avais oublié de communiquer avec quelqu'un sur un e-mail que j'étais censé envoyer, et je voulais qu'il en reçoive une copie sans double envoi à tout le monde. J'ai fini par le lui transmettre, mais je suis toujours curieux.
Où sont gérées les listes CC et BCC dans SMTP? Auriez-vous besoin de contrôler le serveur SMTP, ou cela peut-il être fait côté client?
Merci!
Réponses:
En bref - oui, il est possible si vous pouvez vous connecter directement au serveur SMTP des destinataires. Pour les raisons que Rup décrit dans sa réponse, cela peut ne pas être particulièrement pratique, et si vous êtes sur un réseau derrière un pare-feu, vous ne pourrez peut-être pas du tout obtenir une connexion à un serveur distant sur le port TCP 25.
En supposant que cela ne s'applique pas à vous, voici le détail:
Lorsque vous (en tant que client de messagerie) vous connectez au serveur de messagerie du destinataire, tout ce qui importe au serveur (à des fins de distribution) sont les destinataires spécifiés dans
RCPT TO:
. Voir RFC2821 - Simple Mail Transfer Protocol . Il ne fait pas de différence entre le type de destinataire (à:, cc: ou bcc :), il sait juste que vous dites "assurez-vous que le destinataire sur votre serveur reçoit ceci".Cependant, en ce qui concerne le client de messagerie du destinataire, ce sont les en-têtes du message qui indiquent qui étaient tous les destinataires du message. Voir RFC2822 - Format de message Internet .
En d'autres termes, les en-têtes TO :, CC: et BCC: sont là pour le bénéfice du client de messagerie, tandis que la distribution proprement dite est gérée lors de la "conversation" SMTP avec les serveurs de messagerie.
Vous pouvez donc, en fait, avoir une conversation avec un serveur SMTP qui ressemble à ceci:
L'effet net est que
[email protected]
reçoit une copie de l'e-mail qui l'a sur la liste cc ainsi que le destinataire d'origine[email protected]
et le destinataire cc d'origine[email protected]
.Cependant, comme nous ne nous sommes jamais connectés aux serveurs de messagerie des deux derniers, ils ne reçoivent pas réellement l'e-mail une deuxième fois. Et comme nous ne pouvons pas modifier les courriers qui leur ont déjà été envoyés auparavant, ils ne remarqueront jamais que nous avons ajouté un autre destinataire cc.
la source
Ce qui se produit est
c'est-à-dire que si vous pouvez injecter l'e-mail dans 3, livrer directement au serveur SMTP de l'utilisateur CC manquant, vous pouvez alors lui remettre le CC sans avoir à envoyer le courrier à tout le monde. En particulier, un destinataire BCC recevra des en-têtes et un corps de message qui ne les mentionnent pas du tout (sauf peut-être un en-tête «X-Envelope-To»).
En termes pratiques, cependant, il est beaucoup plus facile d'envoyer à tout le monde. Pour le faire efficacement, vous devez modifier votre client de messagerie et votre serveur SMTP local pour prendre en charge une fausse liste de destinataires, ou une liste d'exclusion de ne pas vraiment envoyer à, qu'il traite pendant l'expansion des destinataires.
la source
Ce problème est en fait résolu par un travail en cours de l'IETF: la Cosmetic Carbon Copy . Malheureusement, je ne connais aucun client de messagerie qui implémente réellement les CCC, car le projet est largement considéré comme une blague inutile pour le poisson d'avril.
Sérieusement, ce que vous demandez est possible, principalement parce que le contenu d'un e-mail n'affecte pas réellement le destinataire du courrier sur la couche SMTP. Les clients de messagerie sont écrits pour envoyer du courrier à tout le monde dans les champs À, CC et Cci, mais ils ne sont pas tenus de le faire par aucune norme.
Mise à jour: pour être précis, lors de l'envoi de courrier à un serveur SMTP, l'expéditeur utilise la commande RCPT pour spécifier à quelles adresses e-mail un message doit être remis. Il envoie ensuite le contenu du courrier avec une commande DATA. Le serveur SMTP ne doit pas regarder le contenu. Il devrait être possible d'ajouter un destinataire à la ligne d'en-tête CC d'un message et de demander au serveur SMPT de le livrer à cette seule adresse.
la source
Si je comprends bien, ce que vous essayez de faire est d'envoyer un message une deuxième fois, y compris les destinataires d'origine dans les en-têtes À: et CC:, mais que ce message ne soit reçu que par un ou plusieurs destinataires supplémentaires. Comme d'autres réponses l'ont noté, cela peut être accompli par votre client de messagerie communiquant avec le serveur SMTP et en spécifiant un seul destinataire, mais en incluant les en-têtes To: et Cc: de l'e-mail d'origine.
Le client Apple Mail possède des fonctionnalités qui peuvent le faire efficacement. La fonction de redirection se trouve dans le menu Message ou dans le menu contextuel d'un message. Cette fonction est conçue pour être utilisée comme un moyen de transférer de manière transparente un e-mail à quelqu'un d'autre sans ajouter Fwd: à la ligne d'objet et augmenter le niveau de devis, mais elle peut également être utilisée sur les messages que vous avez envoyés précédemment. Il conserve les champs To / Cc / From du message d'origine et ajoute les nouveaux destinataires dans les en-têtes Resent-To et Resent-CC. Les seuls destinataires du message renvoyé seront ceux que vous aurez spécifiés lors de sa composition. Il n'est pas tout à fait évident comment cela fonctionne lorsque vous utilisez la fonctionnalité, alors assurez-vous de la tester au préalable.
la source
Il peut être autorisé / interdit sur une base client par client, mais vous pouvez essayer de mettre quelque chose de faux (comme ";; destinataires non divulgués ;;") dans le To et de mettre tout le monde dans le BCC. Ensuite, répéter le processus ressemblera au même e-mail, tant que personne ne surveillera suffisamment les horodatages et les messages filetés, etc.
la source