运用asp.net语言,如何群发邮件 各位大侠们,看到了此贴请留步给个解答方法,先多谢了!问题是这样的:我有一个客户要求当管理员审核会员发布的产品,当审核成功时,就要给所有在本网站注册成功的会员发一条邮件信息,这些邮件要怎么发呢?还请各位大侠指教,谢谢啦! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 http://blog.csdn.net/lff642/article/details/2654346 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); #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; 2楼的朋友,我把你那个邮箱也就是smtp 服务器地址smtp.163.com改成了新浪的,执行不出错误,但是没反应,这是怎么回事?还行大侠指教 asp.net 群发源码很多都可用.实现方法也多样.可以下载下来研究研究! 直接的SMTP发信代码是不行的比如你有1万个会员,则在点击按钮的那一瞬间要循环1万次。即便你后台的操作人员可以设置等待,用FOR循环发送一万封邮件,也是发送不出去的。你只能是点击按钮的时候,把邮箱及邮件内容提取到新的表中,然后结合邮件群发代码,线程发送出去。可以搜索一下 winwebmail我目前是使用这个作为群发软件。官网里面有ASP的代码可以做为发送接口。 如果你的会员在100名以内,邮件地址又都不是同一个邮件服务商的。那可以考虑FOR循环,以2楼的方式发送。 126的邮箱,我测试过,同一个IP同时发送50封就不行了。会拒绝接收。另外126也有帐号区别我有一个老点的126帐号可以用smtp方式发送,但是新注册的一个不行。 使用常规的邮件提供商进行群发邮件是不可行的。必须使用自己的邮件服务器或者第三方支持邮件群发的服务器。可以参考是用winwebmail详细 请参考 huayy的留言 二进制的问题 请问用什么方法可知道gridview的一行或多行被修改 XML + AJAX Accordion 组成的动态菜单 20000*1024*1024的溢出问题怎么解决 一个关于Sql语句中参数的问题? 请教存储过程 如何将DataTable添加到DataSet中并指定名称? 我的treeview到底是怎么了? 提供 人才网源码 购物网源码 SQL server2008安装不了,在界面中点击“安装”就什么也没了! JavaScriptSerializer 序列化json 时间格式 纠结的页面失效问题,附错误信息,麻烦高手帮分析下!
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);
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;
很多都可用.实现方法也多样.可以下载下来研究研究!
比如你有1万个会员,则在点击按钮的那一瞬间要循环1万次。
即便你后台的操作人员可以设置等待,用FOR循环发送一万封邮件,也是发送不出去的。你只能是点击按钮的时候,把邮箱及邮件内容提取到新的表中,
然后结合邮件群发代码,线程发送出去。可以搜索一下 winwebmail我目前是使用这个作为群发软件。
官网里面有ASP的代码可以做为发送接口。
那可以考虑FOR循环,以2楼的方式发送。
会拒绝接收。另外126也有帐号区别
我有一个老点的126帐号可以用smtp方式发送,但是新注册的一个不行。
可以参考是用winwebmail详细 请参考 huayy的留言