ASP.NET结合COM组件发送Email
在系统目录(如c:/winnt或c:/windows)的system32子目录中可以找到一个名称为cdosys.dll的文件,我们可以通过ASP.NET调用此COM组件来实现Email的发送。cdosys构建在SMTP协议和NNTP协议之上,并且作为Windows2000 Server的组件被安装,当然我们也可以使用Exchange2000中cdoex.dll来实现发送邮件的机制。由于cdosys.dll自动内嵌到了操作系统中,所以不用再去注册相应的其他发送程序,下面我们来做一个发送实例。
1、新建一个项目文件
2、添加引用系统目录下的cdosys.dll文件,在引用中会发现添加了两个要用到的接口:CDO,ADODB
3、添加新项文件SendMail.aspx,在其页面上放置三个Label,三个Textbox,作用分别为收件人地址、主题、内容,放置一个Button按钮。
4、切换到代码页,创建一下内容
public void
CDOsendmail()
{
try
{
CDO.Message
Msg = new CDO.Message();
Msg.From = "[email protected]";
Msg.To
= this.TextBox1.Text.Trim();
Msg.Subject =
this.TextBox2.Text.Trim();
Msg.HTMLBody =
"<html><body>"+this.TextBox3.Text
+"</body></html>";
CDO.IConfiguration
Config = Msg.Configuration;
ADODB.Fields oFields =
Config.Fields;
oFields["http://schemas.microsoft.com/cdo/configuration/sendusing"].Value
= 2;
oFields["http://schemas.microsoft.com/cdo/configuration/sendusername"].Value="rattlesnake";
oFields["http://schemas.microsoft.com/cdo/configuration/sendpassword"].Value="pass";
oFields["http://schemas.microsoft.com/cdo/configuration/smtpauthenticate"].Value=1;
oFields["http://schemas.microsoft.com/cdo/configuration/languagecode"].Value=0x0804;
oFields["http://schemas.microsoft.com/cdo/configuration/smtpserver"].Value="smtp.263.net";
oFields.Update();
Msg.BodyPart.Charset =
"gb2312";
Msg.HTMLBodyPart.Charset = "gb2312";
Msg.Send();
Msg
= null;
}
catch(Exception
err)
{
throw
err;
}
}
5、为Button添加Click事件
private void Button1_Click(object sender,
System.EventArgs e)
{
this.CDOsendmail();
}
运行程序,然后检查邮箱即可。
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。