The BCC addresses are not stripped off at the destination email server. That's not how it works.
How SMTP actually works
- The sender will send a list of
RCPT TOcommands to the SMTP server, one for each receiver email addresses, and this command does not distinguish whether the receiver is a normal To, CC or BCC type receiver.
- Soon enough after calling the command that tells the SMTP server who's the sender, who's the server, and everything else, only then the sender will call the
DATAcommand, in which will contain the content of the email - which consist of the email headers and body - the one that are received by email clients. Among these email headers are the usual from address, to address, CC address.
- The BCC address is not shown to the receiver, simply because it's not printed out under the
DATAcommand, not because the destination SMTP server stripped them away. The destination SMTP server will just refer to the
RCPT TOfor the list of email addresses that should receive the email content. It does not really care whether the receiver is in the To, CC or BCC list.
Update (to clarify): BCC email addresses must be listed in the
RCPT TOcommand list, but the BCC header should not be printed under the
Quoting a part of the RFC that I think is relevant to your case:
Please note that the mail data includes the memo header items such as Date, Subject, To, Cc, From .
Rolling out your own email sender
A couple of years ago, I frankly think, is quite a long time back to assume that you still memorize end-to-end of RFC 821. :)