Repository: lettre/lettre (language: rust)

Issue:
bcc does not work correctly for gmail
**Describe the bug**
Full bcc list is visible to all the recipients when an email is sent using a gmail account from lettre.

**To Reproduce**
```
    let email = Message::builder()
        .from("******@gmail.com".parse().unwrap())
        .bcc("*****@yahoo.com".parse().unwrap())
        .bcc("*****@gmail.com".parse().unwrap())
        .bcc("*****@gmail.com".parse().unwrap())
        .bcc("*****@gmail.com".parse().unwrap())
        .subject(std::env::args().nth(1).unwrap().to_string())
        .body(String::from("hello"))
        .unwrap();

    let creds = Credentials::new("******@gmail.com".to_string(), String::from("******"));

    let mailer = SmtpTransport::relay("smtp.gmail.com")
        .unwrap()
        .credentials(creds)
        .build();

    trace!(mailer.send(&email));
```

This is how the email appears to a recipient when it is sent using lettre:

https://prnt.sc/132g2cu

This is how the email appears when it is sent manually:

https://prnt.sc/132gfts

**Expected behavior**
bcc list should not be visible

**Environment (please complete the following information):**
- Lettre version
[[package]]
name = "lettre"
version = "0.10.0-beta.4"

- OS
linux



Discussion / hints:
Yahoo recipients are also able to see the full bcc list: https://prnt.sc/132gkcn

Fix patch:
diff --git a/src/message/mod.rs b/src/message/mod.rs
index 59bc1aac0..380afeee2 100644
--- a/src/message/mod.rs
+++ b/src/message/mod.rs
@@ -401,7 +401,7 @@ impl MessageBuilder {
         // https://tools.ietf.org/html/rfc5322#section-3.6
 
         // Insert Date if missing
-        let res = if self.headers.get::<header::Date>().is_none() {
+        let mut res = if self.headers.get::<header::Date>().is_none() {
             self.date_now()
         } else {
             self
@@ -424,6 +424,10 @@ impl MessageBuilder {
             Some(e) => e,
             None => Envelope::try_from(&res.headers)?,
         };
+
+        // Remove `Bcc` headers now the envelope is set
+        res.headers.remove::<header::Bcc>();
+
         Ok(Message {
             headers: res.headers,
             body,
@@ -559,6 +563,7 @@ mod test {
 
         let email = Message::builder()
             .date(date)
+            .bcc("hidden@example.com".parse().unwrap())
             .header(header::From(
                 vec![Mailbox::new(
                     Some("Каи".into()),


Test patch: