2010-07-30 122 views
0

我使用MailMessage类,然后发送邮件给许多收件人。我的代码在这里。Asp.net电子邮件接收问题

MailMessage msg = new MailMessage(); 

SmtpClient client = new SmtpClient("smtp.mysite.com"); 
client.EnableSsl = false; 
client.UseDefaultCredentials = false; 
client.Credentials = new NetworkCredential("[email protected]", "mypassword"); 
forea(User u in users) 
{ 
    msg.To.Add(u.Email); 
} 

client.Send(msg); 

这项工作成功。

但问题是在收件人计算机上显示的所有电子邮件地址为TO: user1.fds.com;email2.fdsa.com;email3.fdsa.com;...

我只需要显示当前用户的电子邮件。怎么做?

也许我会做这样的

forea(User u in users) 
{ 
    msg.To.Clear(); 
    msg.To.Add(u.Email); 
    client.Send(msg); 
} 

但它过于缓慢。

回答

3

一个选项是使用MailMessage.Bcc而不是To。这当然不会在“To”行显示收件人,但通常这不是问题。

我希望“多收件人”真心希望此邮件...

2

我建议你遍历收件人列表和发送的电子邮件一次一个。

使用密件抄送可能会导致邮件被归类为垃圾邮件。

+2

+1而且会很好: users.ConvertAll(u => new MailMessage(u.Email))。ForEach(client.Send) – onof 2010-07-30 07:11:54