邮件群发怎么做
发单个我会做的,但是群发不是简单的循环一下,因为几百个用户循环一下到最后进程就死掉了,所以只能发成功一部分 

解决方案 »

  1.   

    http://topic.csdn.net/t/20061218/21/5239675.html
    先在网上下一个jmail.dll(google搜一下就有。) 具体代码。   
      public   bool   SendMail(string   from   ,string   fromName,string   subject   ,string   body   ,   
      string   attachmentFile1,string   attachmentFile2,bool   isinline,bool   isHtml,string[]   mailTo   )   
      {   
      jmail.MessageClass   MsgMail   =   new   jmail.MessageClass();   
        
      MsgMail.Logging   =   true;   
      MsgMail.Silent   =   true;   
      MsgMail.Charset   =   "GB2312";   
      MsgMail.Encoding   =   "Base64";   
        
      MsgMail.ISOEncodeHeaders   =   false;     
      MsgMail.From   =   from;   
      if   (fromName!=""){MsgMail.FromName   =   fromName;}   
        
      //加收件人   
      for   (int   i=0;i<mailTo.Length;i++)   
      {   
      string   emailAddress=mailTo[i].ToString();   
      i++;   
      string   MailToName=mailTo[i].ToString();   
      if   (MailToName==""   )   
      {MsgMail.AddRecipient(emailAddress,null,null);}   
      else{MsgMail.AddRecipient(emailAddress,MailToName,null);}   
      }   
        
      MsgMail.Subject   =   subject;   
      MsgMail.Body   =   body;   
        
      // if   (isHtml)   
      // {   
      MsgMail.ContentType="text/html";   
      // }   
      // else   
      // {   
      // MsgMail.ContentType="text/plain";   
      // }   
      if   (attachmentFile1!="")   
      {   
      MsgMail.AddAttachment(attachmentFile1,isinline,null);//例如:text/plain表示txt文档   
      }   
      if   (attachmentFile2!="")   
      {   
      MsgMail.AddAttachment(attachmentFile2,isinline,null);//例如:text/plain表示txt文档   
      }   
        
      MsgMail.MailServerUserName   =   "[email protected]";           //登录邮件服务器所需的用户名   
      MsgMail.MailServerPassWord   =   "fhquutuu"   ;   
        
      if(MsgMail.Send("mail.51db.com",   false))   
      {return   true;}   
      else   
      {   return   false;   }   
        
      }   
      } 
      

  2.   

    楼上的群发可以吗?我觉得发了一封后隔段时间再发才可以问题,这个怎么做啊。我现在用的就是for循环的,发了几封就发不了了
      

  3.   

    用Linq 做,里面有自带的事务  
    public void AddEmp(List<Emp> emp,string username1)
        {
            string username = username1;
            string date=DateTime.Now.ToString("yyyyMMddhhmmms");
            List<Emp> emps = emp;
            int i = 1;
            List<FlowPath> lf = new List<FlowPath>();
            foreach (Emp em in emps)
            {
                FlowPath fp = new FlowPath();
                fp.Code = date + i.ToString() + username;
                fp.EmpId = em.UserName;
                fp.Orders = i;
                lf.Add(fp);
                i++;
            }
            empdata.FlowPath.InsertAllOnSubmit(lf);
            empdata.SubmitChanges();

        }
      

  4.   

      [email protected]  谢谢
      

  5.   


    顺便带我一个吧[email protected] 谢谢了啊 
      

  6.   

    System.Net.Mail.SmtpClient smtp = new System.Net.Mail.SmtpClient("smtp.ooxx.com");
            //竟然屏蔽掉也可以发
            //smtp.Credentials = new System.Net.NetworkCredential(***@ooxx.com, "****");        smtp.DeliveryMethod = System.Net.Mail.SmtpDeliveryMethod.Network;
            //4个参数依次是:发件人,收件人,邮件标题,邮件内容
            System.Net.Mail.MailMessage msg = new System.Net.Mail.MailMessage("[email protected]", "[email protected]", "Test", "text for test!");
            msg.BodyEncoding = System.Text.Encoding.UTF8;
            msg.IsBodyHtml = true;
            try
            {
                smtp.Send(msg);
                Page.ClientScript.RegisterStartupScript(this.GetType(), "", "<script language=javascript> window.alert('发送成功');</script>");
            }
            catch
            {
                Page.ClientScript.RegisterStartupScript(this.GetType(), "", "<script language=javascript> window.alert('发送失败');</script>");
            }