Duncan said:
Nope, that's how BCC works (wouldn't be "blind" otherwise)
Do you know what "Bcc" stands for? It's BLIND Carbon Copy. That means
every recipient that was specified by use of the Bcc *field* (not
header) by the sender will never see that they were specified as a
recipient. There is no Bcc header in the received copy of an e-mail
where the recipient was specified in the Bcc field in the sender's
e-mail client.
The recipient never does get to see who are the true recipients of an
e-mail. The To, Cc, and Bcc *fields* are just input controls in the UI
for the sender's e-mail client. They may not even be used in specifying
the recipients of an e-mail, as when using a listserver to send out bulk
e-mails where the boilerplate e-mail is data and a separate list of
recipients is kept in a file. The e-mail client compiles an aggregate
list of recipients from the To, Cc, and Bcc *fields* in the UI of the
e-mail client. That list is used to generate the RCPT-TO commands that
the e-mail client sends to the mail server. It is that list of RCPT-TO
commands, one for each recipient, that actually specifies who are the
recipients. That list of RCPT-TO commands is followed by a single DATA
command that contains the message - and that message also include the To
and Cc header but that is *data* that the e-mail client entered in the
DATA command and was *not* used to specify the recipients of the message
to the mail server. By using mailmerge or a listserver, the recipients
are not even specified in the message but instead come from a separate
file that is the mailing list.
Your e-mail client has *fields* showing the To, Cc, and Bcc fields in
its UI. Your e-mail client uses that list of recipients to send RCPT-TO
commands to your mail server. Your e-mail client will add the To and Cc
headers - but NOT the Bcc header - to the *data* of your message. Those
headers inside your message were NOT used to directly specify the
recipients of your e-mail so it is very possible the e-mail client puts
one set of values in the To and Cc headers inside the message but issues
different RCPT-TO commands to the mail server.
Only if an e-mail client is misconfigured or broken will it add a Bcc
header into the message (header section, blank delimiter line, body
section). Even if a broken e-mail client includes the Bcc header, many
if not the prevalent majority of mail servers will strip out the Bcc
header since it is not supposed to be included in the message. That
means you, as the recipient, should never see a Bcc header in the e-mail
that you receive.
So how are you going to test on a header that doesn't exist? Well, you
could test by looking for the absence of your e-mail address in the To
and Cc headers. Normally if you were specified in the Bcc field then
you were not also specified in either the To or Cc field, so the lack of
your e-mail address in the To and Cc headers would indicate that you
were probably a Bcc'ed recipient; however, for mailing lists, it is
likely that all recipients were effectively Bcc'ed (because the RCPT-TO
commands were not generated by any To, Cc, or Bcc fields in the
boilerplate message, if they were even specified).