目前可以发邮件了,但是群发的时候有问题,当选2个人的时候,发送一次,每个人的邮箱会收到两封邮件。
在发送一次,每个人会收到3封或者4封邮件。
在发送就又多发了。这是为什么啊?单步调式的时候,都是每次只发送一个人的啊,就是一个邮箱,
为什么接受的时候就变成几封邮件了呢?

解决方案 »

  1.   


          string Attendee, to,from;
          from = "[email protected]";
          to = dtRes;
          for (int i = 0; i < dtLev.Rows.Count; i++)
          {
              string to_GUID = dtLev.Rows[i]["GUID"].ToString();
              Attendee = dtLev.Rows[i]["Email"].ToString();
              
              if (GUIDApp != to_GUID)
              {
                  if (Attendee != "None")
                  {
                      to += "," + Attendee;
                  }
              }      }
          string url = "http://" + Request.Url.Host + Request.ApplicationPath + "/Conference_info.aspx.aspx?id=" + Convert.ToInt32(id);
          string body = "Dear All,<br><br>" + "Presider: " + lblPresider.Text  + "<br>" + "Category: " + lblCategory.Text  + "<br>";
          body = body + "Date: " + lblDate.Text + "<br>" + "Subject: " + lblSubject.Text + "<br>" + "Content: " + lblContent.Text + "<br>";
          body = body + "Meeting Minutes: " + txtMinutes.Text;
          string mailServerName = ConfigurationManager.AppSettings["mailServerName"];
          try
          {
              using (MailMessage message = new MailMessage(from, to, lblSubject.Text, body))
              {
                  System.Net.Mail.SmtpClient mailClient = new System.Net.Mail.SmtpClient(mailServerName);
                  message.IsBodyHtml = true;  //郵件內容支持HTML
                  message.Priority = MailPriority.High;  //郵件優先級:高
                  mailClient.UseDefaultCredentials = true;
                  mailClient.Send(message);
              }
              SuMsg = SuMsg + "\\nMail發送成功";       
          }
          catch(Exception ex)
          {
              SuMsg = ex.Message  + "\\nMail失敗,請手動發送Mail";
      

  2.   

                //指定发送人地址
                mail.From = new MailAddress(MailFrom);
                //指定收件人地址
                mail.To.Add(new MailAddress(MailTo));
                //标题
                mail.Subject = Subject;
                //邮件内容
                mail.Body = Body;
                //邮件正文是否是HTML格式
                mail.IsBodyHtml = true;
                //邮件的正文格式
                mail.BodyEncoding = Encoding.Default;
                //邮件主题的格式
                mail.SubjectEncoding = Encoding.Default;
                //邮件的优先级别
                mail.Priority = MailPriority.High;
                //建立SMTP服务参数
                SmtpClient smtp=new SmtpClient(MailServer);
                //实例化SMTP参数
                 smtp.Credentials = new System.Net.NetworkCredential(DefaultAccount,DefaultPassword);
                bool bMark = true;
                try
                {
                    //发送
                    smtp.Send(mail);
                }
                catch {
                    bMark = false;
                }
                return bMark;        }我是这么发的,而且在发过两个人后,在发一个人,发的不只是这个1个人,前面发的也都会带上。不知道什么原因呢,循环是没问题的。
      

  3.   

    是不是email类自己可以 保留发送地址啊?
      

  4.   

    你这个疑似你代码问题。mail是不是循环外变量,每次进入循环,mail.To.Clear()做过吗?,不然保留之前的发送地址。
      

  5.   

    看看你的aspx里有那些 回发
      

  6.   

    mail.add是个集合,你每发一次都会保存一个收件人,所以你每次调用都要清空   或者创建临时变量mail
      

  7.   

    是clear 问题。谢谢啦