次のコードを使用して、ユーザーのリストに電子メールを送信しています。
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 人以上)。明らかに、他人の電子メール アドレスを公開したくありません。
それらをBCCに追加すると、なぜそれらが表示されるのか混乱しています。誰が何が起こっているのか知っていますか?これが SmtpClient の問題か Mandrill の問題かはわかりません。