主题:  用 asp.net 怎么发送邮件呀?

qijianzhou

职务:普通成员
等级:1
金币:0.0
发贴:41
#12006/5/18 16:27:46
我想用 asp.net 来做一个发送邮件的小程序,上网找了找,不好,但都不能用,根本就不能发送邮件,有的说的很模糊。

所以就来到了这里,请高手指点一下

十分感谢



蓝鲸

职务:版主
等级:5
金币:42.1
发贴:2614
#22006/5/18 17:05:48
.NET中有System.Web.Mail命名空间用于邮件
System.Web.Mail.MailMessage类用于邮件信息
System.Web.Mail.SmtpMail类用于发送邮件
具体可能参考帮助


非常大鱼

缺缺

职务:管理员
等级:8
金币:41.0
发贴:9620
#32006/5/18 17:16:12
楼上的这个就是"有的说的很模糊"



蓝鲸

职务:版主
等级:5
金币:42.1
发贴:2614
#42006/5/18 17:21:55
不好意思,这个发邮件我也不怎么深入,要我手写就不行
用时就找帮助,写好就忘了
只是个引子,我网上有个例子,下次我帖上来


非常大鱼

大当家

职务:普通成员
等级:3
金币:1.0
发贴:767
#52006/5/18 21:07:37
.NET 中发送邮件非常容易,使用System.Web.Mail名字空间提供的类,给个例子。

MailMessage mail = new MailMessage();
mail.From = "ixyoung@163.com"; // 发件人地址
mail.To = "yangiamyy@gmail.com"; // 收件人地址
mail.Subject = "邮件主题";
mail.Body = "邮件正文";
mail.BodyFormat = MailFormat.Html; // 以HTML形式发送
mail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate", "1"); // 服务器是否需要身份验证
mail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/sendusername","用户名");
mail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/sendpassword","密码");
SmtpMail.SmtpServer = "smtp.163.com"; // SMTP服务器地址
try {
    SmtpMail.Send(mail);
}
catch (Exception e) {
    Response.Write(e.Message);
}



qijianzhou

职务:普通成员
等级:1
金币:0.0
发贴:41
#62006/5/19 11:10:14
谢谢,我试试



qijianzhou

职务:普通成员
等级:1
金币:0.0
发贴:41
#72006/5/19 13:32:46
不行呀
我复制了上面的到一个按纽的单击事件中,运行后,点击按纽出现

没有注册类别
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。

异常详细信息: System.Runtime.InteropServices.COMException: 没有注册类别

....
....
...


---------------------
这是怎么回事呀
谢谢了



蓝鲸

职务:版主
等级:5
金币:42.1
发贴:2614
#82006/5/19 16:33:24
MailMessage mail = new MailMessage();
mail.To = "dhlhh@mail.zsptt.zj.cn";
mail.From = "postmaster@hellosea.com";
mail.Subject = "this is a test email.";
mail.Body = "Some text goes here";
mail.BodyFormat = MailFormat.Html;//设置为HTML格式
mail.Bcc = "webmaster@hellosea.com;bluewhale@hellosea.com;dhlhh@hellosea.com";
//设置为需要用户验证
mail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate", "1");
//设置验证用户名(把my_username_here改为你的验证用户名)
mail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/sendusername", "postmaster@hellosea.com");
//设置验证密码(把password改为你的验证密码)
mail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/sendpassword", "mypassword");
SmtpMail.SmtpServer = "mail.hellosea.com"; //邮件服务器地址
SmtpMail.Send( mail );

这是我自己用的代码,已经验可以使用
当然邮件服务器要改成你自己服务器,包括用户名,密码


非常大鱼

qijianzhou

职务:普通成员
等级:1
金币:0.0
发贴:41
#92006/5/31 12:59:33
谢谢



qijianzhou

职务:普通成员
等级:1
金币:0.0
发贴:41
#102006/5/31 13:10:36
我试了试还是提示没有注册类别,是不是不能在本地用呢



qijianzhou

职务:普通成员
等级:1
金币:0.0
发贴:41
#112006/5/31 13:11:41
我的代码,密码就不写出来了

MailMessage mail = new MailMessage();
            mail.To = "qijianzhou289@sohu.com";
            mail.From = "qi_jianzhou@126.com";
            mail.Subject = "this is a test email.";
            mail.Body = "Some text goes here";
            mail.BodyFormat = MailFormat.Html;//设置为HTML格式
            //mail.Bcc = "webmaster@hellosea.com;bluewhale@hellosea.com;dhlhh@hellosea.com";
            //设置为需要用户验证
            mail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate", "1";
            //设置验证用户名(把my_username_here改为你的验证用户名)
            mail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/sendusername", "qi_jianzhou@126.com";
            //设置验证密码(把password改为你的验证密码)
            mail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/sendpassword", "password"; // 这就不写密码了
            SmtpMail.SmtpServer = "smtp.126.com"; //邮件服务器地址
            SmtpMail.Send( mail );