From MozillaZine Knowledge Base
Blind carbon copy (BCC) is a way to send messages to one or more recipients without the other recipients being able to see those email addresses. You can do this by entering the addresses using Bcc: (instead of To: or CC:). It is guaranteed to hide the BCC'd addresses from anybody you entered in the To: or CC: fields. It may also hide the fact that anybody was BCC'd and any other BCC'd addresses from anybody who was BCC'd. That depends upon your SMTP server.
You can send a message that just has Bcc: entries. This is frequently done when somebody BCC's a mailing list. There are several ways to BCC an address:
There doesn't appear to be any way to BCC an address from within the address book, the Write button uses To:.
The Mail Tweak extension has a setting to make Bcc the default when composing a message. You can also use it to adjust the number of default address lines when composing a message or to send each recipient individual messages (if your SMTP server doesn't default to doing that when sending a message addressed to multiple recipients). Its personalize messages tweak sends each recipient an individual message, thus guaranteeing that you also don't share addresses among anybody you BCC'd. The Mail Merge add-on also sends separately addressed messages.
If you BCC a mailing list and there is no To: address, then Thunderbird adds To: undisclosed-recipients:; You can prevent this by setting mail.compose.add_undisclosed_recipients to false using the Config Editor. Thunderbird never sends the name of the list in the message.
RFC2822 specifies how a SMTP server should support Bcc:. Typically if you send a message using multiple Bcc: addresses each recipient gets a separately addressed message, so that nobody (not just the persons whose address was entered in To: or CC:) sees any of the other BCC'd addresses. However, implementers have a lot of leeway in how to support Bcc: so you should test this. they are only required to hide the BCC'd addresses from anybody you entered in the To: or CC: fields. Don't just look in your copy of the sent message since that's an exception, it's supposed to show all of the headers. The most reliable way to test this is to send a message where you BCC your email address and the email address of another account, and then use webmail to read the message in the other account.