Dat antwoord linkt naar RFC 2822, dat over het berichtformaat gaat en niet over SMTP. Wat daarin staat over drie manieren om met de Bcc-header om te gaan gaat niet per se over hoe er in de SMTP-afhandeling mee wordt omgegaan, dit is breder dan alleen dat.
Door Anoniem: Ik begrijp even niet waar dit over gaat. [...] bovendien zet (zoals Anoniem 17:55 ook al aangeeft) een beetje mailer helemaal geen BCC header in de verstuurde mail, dat is ook nergens voor nodig want die info staat in de RCPT TO regels van de SMTP sessie.
Traditioneel hebben *nix-systemen naast SMTP een andere interface naar de locaal draaiende MTA. Het sendmail-commando (onderdeel van de MTA, geïntroduceerd door de MTA die sendmail heet) plaatst een e-mail in een maildrop-directory, waar de MTA het oppakt en verder verwerkt.
Bij die manier van werken worden er nog geen SMTP-commando's gebruikt, en is er een manier nodig om Bcc-adressen door te geven. Ik heb het niet nagekeken, maar het ligt erg voor de hand dat er dan een Bcc-header wordt opgenomen die wordt gebruikt om bestemmingen te specificeren maar die zelf uit de headers wordt verwijderd.
Zoals ik het SMTP-protocol begrijp hoort hooguit de originating MTA (de eerste die een e-mail afhandelt op weg naar de bestemming) wijzigingen aan te brengen, en de rest mag alleen headers bovenaan toevoegen en blijft af van wat er verder instaat.
RFC 5321 (SMTP-specificatie) noemt in paragraaf 6.4 over het afhandelen van fouten in de aanlevering een discussie over de voors en tegens van compenseren, en concludeert:
The following changes to a message being processed MAY be applied when necessary by an originating SMTP server, or one used as the target of SMTP as an initial posting (message submission) protocol:
o Addition of a message-id field when none appears
o Addition of a date, time, or time zone when none appears
o Correction of addresses to proper FQDN format
The less information the server has about the client, the less likely these changes are to be correct and the more caution and conservatism should be applied when considering whether or not to perform fixes and how. These changes MUST NOT be applied by an SMTP server that provides an intermediate relay function.
https://tools.ietf.org/html/rfc5321#section-6.4Zoals ik dat lees zijn de correcties die een MTA mag aanbrengen heel beperkt (de drie die genoemd worden), en mogen ze alleen door de MTA die de e-mail van de client in ontvangst neemt gedaan worden, de rest "weet" al niet genoeg om te kunnen beoordelen wat de bedoeling is. Bcc wordt hier niet genoemd.
Bcc wordt in RFC 5321 op twee plaatsen genoemd:
• In paragraaf 7.2 wordt gemeld dat adressen in RCPT-commando's die niet in de headers voorkomen (dat zijn Bcc's) ook niet zelf aan de headers moeten toevoegen. Daar staat ook dat die regel vaak wordt geschonden en dat MTA's om dat voor te zijn voor elke Bcc een apart bericht met die Bcc als enige bestemming kunnen doorgeven aan de volgende MTA.
• In appendix B, over het genereren van SMTP-commando's uit headers, wordt aanbevolen dat een MUA (mail user agent, een e-mailclient) de envelope-informatie die in de SMTP-dialoog belandt gescheiden van het bericht aanlevert, en dat als het toch door de ontvangende MTA wordt gedaan die de Bcc-header verwijdert als de envelope-informatie is afgeleid. Dit slaat op de MTA die de e-mail van de MUA ontvangt, en dat is dus de originating SMTP server uit paragraaf 6.4 hierboven.
https://tools.ietf.org/html/rfc5321#section-7.2https://tools.ietf.org/html/rfc5321#appendix-BBij elkaar opgeteld komt het er volgens mij op neer dat de norm is dat Bcc
alleen door een client als header wordt opgenomen als de bestemmingsadressen
niet buiten de inhoud van het bericht (inclusief headers) om worden aangeleverd aan de MTA. In dat geval verwijdert de MTA de Bcc-header. Voor zover mij bekend gebeurt dit alleen bij gebruik van een maildrop-directory waar een client een e-mail inplaatst en een MTA geplaatste berichten uit oppakt. In alle andere gevallen moet een client al geen Bcc-header genereren, blijft een MTA van de headers af, en zorgt die er alleen voor dat die zelf geen e-mailadressen in de zelf toegevoegde headers opneemt die niet al in de headers staan.
Als M365 inderdaad de domeinnaam van de eerste Bcc wél in de headers opneemt schendt het strikt genomen niet deze norm, omdat het geen volledig e-mailadres is. Maar in sommige situaties is het natuurlijk voor de ontvanger duidelijk wie de andere ontvanger zal zijn geweest, en het geeft hoe dan ook prijs dát er een andere ontvanger is. Ook zo'n domein moet dus niet in de headers belanden.