C#发送邮件,想实现单独发送的功能

//添加收件人地址,读取配置文件中to的内容,以分号分隔每个收件人
string[] receivers = GetConfig("to").Trim().Split(';');
foreach (string ToAddress in receivers)
{
mail.To.Add(ToAddress);
smtp.Send(mail);//发送邮件

}

GetConfig("to")里写入了多个收件人地址,用该方法发送邮件会每个收件人先收到一封邮件,然后又收到一封可以看到所有收件人的邮件。这是为什么呢?请各位大神赐教!

或者该怎么写才能实现多个收件人分别发送呢?

把smtp.Send(mail)放到循环外面

循环的范围有点大啊,你将循环的条件和发送邮件在同一个层次

//多收件人,发送一个邮件
mail.To.AddRange(receivers);
smtp.Send(mail);

分别发送的可以考虑单独拎出发送单个收件人邮件的方法。然后循环调用。

用javamail 分分钟搞定

http://www.cnblogs.com/xiaowuyi/archive/2012/03/17/2404015.html