简体   繁体   中英

C# MailMessage BCC property show address list in email when delivery

When i used this code, when the email is delivered the list of addresses in bcc is visible, why please?

I use .Net Framework 4.6.2

The code works correctly, it sends the emails but when I check the To: in the email delivered I can see all the recipients that I have included in .Bcc.Add

bcc does not work as microsoft says?

    public static bool SendEmails(string[] emailList, string from, string body, string subject, string attachment)
    {
            var result= false;
            MailMessage email = null;
                        
            if (emailList!= null && !string.IsNullOrWhiteSpace(from))
            {
                    email = new MailMessage
                    {
                        Priority = MailPriority.High,
                        From = new MailAddress(from),
                        Subject = subject,
                        Body = body,
                        BodyEncoding = Encoding.UTF8,
                        IsBodyHtml = true,
                        DeliveryNotificationOptions = DeliveryNotificationOptions.OnFailure,
                    };

                    if (!string.IsNullOrWhiteSpace(attachment))
                    {
                        email.Attachments.Add(new Attachment(attachment));
                    }

                    var smtp = new SmtpClient
                    {
                        Host = host,
                        Credentials =new System.Net.NetworkCredential("user","pass"),
                        EnableSsl = Convert.ToBoolean(ConfigurationManager.AppSettings["enablessl"]),
                        Port = int.Parse(ConfigurationManager.AppSettings["port"])
                    };


                    if (emailList.Count() > 0)
                    {
                        foreach (string email in emailList)
                        {
                            email.Bcc.Add(new MailAddress(email));  
                        }
                    }

 smtp.Send(email);
                    result= true;
             }
return restul;
}


Apparently, it is necessary to include an email in emai.To.Add("anymail@anyhost.com") before starting the loop where the addresses are loaded in bcc, I don't know if this has any other consequences, but that's how it works. Email addresses are no longer displayed in the To: of the delivered message.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM