.NET SmtpClient 在使用 BCC 时暴露 10 个电子邮件地址(通过 Mandrill)
.NET SmtpClient exposing 10 e-mail addresses when using BCC (via Mandrill)
我正在使用以下代码向用户列表发送电子邮件:
public async Task BroadcastMessage(IEnumerable<User> users, string subject, string body)
{
var email = new MailMessage { Subject = subject, Body = body, IsBodyHtml = true };
users.ToList().ForEach(x => email.Bcc.Add(new MailAddress(x.Email, x.FullName)));
email.Headers.Add("X-MC-Subaccount", "xxxxx");
using (var client = new SmtpClient())
{
await client.SendMailAsync(email);
}
}
消息通过Mandrill发送。
如代码所示,我将用户添加到 BCC 字段。但是,当收件人收到消息时,他们会看到 10 个其他订阅者(总共超过 10 个)。很明显,我不想暴露别人的电子邮件地址。
我很困惑,为什么当我将它们添加到密件抄送时,却显示了它们。有谁知道发生了什么事?我不确定这是 SmtpClient 问题还是 Mandrill 问题。
在您的 Mandrill 设置 -> 发送默认值中有一个禁用它的设置。
确保未设置:http://imgur.com/LYcv9ve
我正在使用以下代码向用户列表发送电子邮件:
public async Task BroadcastMessage(IEnumerable<User> users, string subject, string body)
{
var email = new MailMessage { Subject = subject, Body = body, IsBodyHtml = true };
users.ToList().ForEach(x => email.Bcc.Add(new MailAddress(x.Email, x.FullName)));
email.Headers.Add("X-MC-Subaccount", "xxxxx");
using (var client = new SmtpClient())
{
await client.SendMailAsync(email);
}
}
消息通过Mandrill发送。
如代码所示,我将用户添加到 BCC 字段。但是,当收件人收到消息时,他们会看到 10 个其他订阅者(总共超过 10 个)。很明显,我不想暴露别人的电子邮件地址。
我很困惑,为什么当我将它们添加到密件抄送时,却显示了它们。有谁知道发生了什么事?我不确定这是 SmtpClient 问题还是 Mandrill 问题。
在您的 Mandrill 设置 -> 发送默认值中有一个禁用它的设置。
确保未设置:http://imgur.com/LYcv9ve