Tan078
Tan078
2017-10-18 08:30
采纳率: 100%
浏览 1.2k

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

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

}

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

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

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

5条回答 默认 最新

  • b100522
    椎名小由奈 2017-10-18 08:35
    已采纳

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

    点赞 评论
  • fu415037685
    付博瀚 2017-10-18 08:42

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

    点赞 评论
  • u014483121
    半劫烟头 2017-10-18 08:43

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

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

    点赞 评论
  • a638011
    a638011 2017-10-18 08:49

    用javamail 分分钟搞定

    点赞 评论
  • fu415037685
    付博瀚 2017-10-18 08:54
    点赞 评论

相关推荐