各位大侠们,看到了此贴请留步给个解答方法,先多谢了!问题是这样的:我有一个客户要求当管理员审核会员发布的产品,当审核成功时,就要给所有在本网站注册成功的会员发一条邮件信息,这些邮件要怎么发呢?还请各位大侠指教,谢谢啦!

解决方案 »

  1.   

    http://blog.csdn.net/lff642/article/details/2654346
      

  2.   

    SmtpClient smtp = new SmtpClient();//实例化一个SmtpClient
            smtp.DeliveryMethod = SmtpDeliveryMethod.Network;//将smtp的出站方式设为Network
            smtp.EnableSsl = false;//smtp服务器是否启用SSL加密
            smtp.Host ="smtp.163.com";//指定 smtp 服务器地址smtp.163.com
            
            smtp.Port = 25;//指定 smtp 服务器的端口,默认是25,如果采用默认端口,可省去
            //如果你的SMTP服务器不需要身份认证,则使用下面的方式,不过,目前基本没有不需要认证的了
            smtp.UseDefaultCredentials =true;//如果需要认证,则用下面的方式
            smtp.Credentials = new NetworkCredential("你的邮箱账号","你的邮箱密码");//登录邮件
           
            MailMessage mm = new MailMessage();//实例化一个邮件类
            mm.Priority = MailPriority.Normal;//邮件的优先级,分为 Low, Normal, High,通常用 Normal即可
            //收件方看到的邮件来源;
            //第一个参数是发信人邮件地址
            //第二参数是发信人显示的名称
            //第三个参数是 第二个参数所使用的编码,如果指定不正确,则对方收到后显示乱码
            //936是简体中文的codepage值
            mm.From = new MailAddress("邮箱账号", "昵称、名称", Encoding.GetEncoding(936));
            //ReplyTo 表示对方回复邮件时默认的接收地址,即:你用一个邮箱发信,但却用另一个来收信
            //上面后两个参数的意义, 同 From 的意义
            mm.ReplyTo = new MailAddress("邮箱账号","昵称、名称", Encoding.GetEncoding(936));
            // 收件人地址,可以多个,例如:([email protected],[email protected]),多个以逗号分开
            mm.To.Add("[email protected],[email protected],[email protected]");
            mm.Subject = "测试";//标题
            mm.IsBodyHtml = true;//是否以html格式发送
            mm.BodyEncoding = Encoding.GetEncoding(936);//正文的编码,防止乱码        mm.Body = "测试";//邮件的内容,即:正文
            //附件
            //mm.Attachments.Add(new Attachment(@"D:\a.doc", System.Net.Mime.MediaTypeNames.Application.Rtf));
            //多个附件
            //mm.Attachments.Add(new Attachment(@"D:\c.doc"));
            //发送邮件        smtp.Send(mm);
      

  3.   

    #region //发送邮件
            private void SendEmail(string MailBody)
            {
                string from, to, mailtitle;            from = "[email protected]";
                to = "[email protected]";
                mailtitle = "『Graph错误提醒』" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");            SmtpClient objSmtpClient = new SmtpClient();
                objSmtpClient.Host = "rsc-mailserv01";
                MailMessage objMail = new MailMessage(from,to);
                objMail.Body = MailBody; ;
                objMail.Subject = mailtitle;
                objMail.IsBodyHtml = true;
                objSmtpClient.Send(objMail);
            }
            #endregion添加引用using System.Net.Mail;
      

  4.   

    2楼的朋友,我把你那个邮箱也就是smtp 服务器地址smtp.163.com改成了新浪的,执行不出错误,但是没反应,这是怎么回事?还行大侠指教
      

  5.   

    asp.net 群发源码
    很多都可用.实现方法也多样.可以下载下来研究研究!
      

  6.   

    直接的SMTP发信代码是不行的
    比如你有1万个会员,则在点击按钮的那一瞬间要循环1万次。
    即便你后台的操作人员可以设置等待,用FOR循环发送一万封邮件,也是发送不出去的。你只能是点击按钮的时候,把邮箱及邮件内容提取到新的表中,
    然后结合邮件群发代码,线程发送出去。可以搜索一下 winwebmail我目前是使用这个作为群发软件。
    官网里面有ASP的代码可以做为发送接口。
      

  7.   

    如果你的会员在100名以内,邮件地址又都不是同一个邮件服务商的。
    那可以考虑FOR循环,以2楼的方式发送。
      

  8.   

    126的邮箱,我测试过,同一个IP同时发送50封就不行了。
    会拒绝接收。另外126也有帐号区别
    我有一个老点的126帐号可以用smtp方式发送,但是新注册的一个不行。
      

  9.   

    使用常规的邮件提供商进行群发邮件是不可行的。必须使用自己的邮件服务器或者第三方支持邮件群发的服务器。
    可以参考是用winwebmail详细 请参考 huayy的留言