当前位置: 首页 > 图文教程 > 网络编程 > ASP.NET > 在.NET框架应用程序中发送电子邮件

ASP.NET
给Asp.Net初学者的关于继承和多态性的例子
新手入门:C++下的引用类型
初学者的福音:游戏开发新手入门指南
C/C++中利用空指针简化代码,提高效率
获取转向地址的URL的源文件(可自定义REFER)
asp.net中执行存储数据操作时数据被自动截取的一种情况
.NET中防止Access数据库下载
vs.Net2003无法打开或创建Web应用程序若干解决办法.
我今天开始正式学习.net遇到的问题
无法在Web服务器上启动调试。未将项目配置为进行调试
找不到类型或命名空间名称“Server”(是否缺少 using 指令或程序集引用?)
ASP.NET页面间的传值的几种方法
几个ASP.NET技巧
让Asp.NET的DataGrid可排序、可选择、可分页
web.config文件的中文解释
用DataReader还是DataSet?
ASP.NET中数据库操作初步
ExecuteReader(),ExecuteNonQuery(),ExecuteScalar(),ExecuteXmlReader()之间的区别
如何在DataGrid控件中实现自定义分页
ADO.NET 的最佳实践技巧

ASP.NET 中的 在.NET框架应用程序中发送电子邮件


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-08-14   浏览: 130 ::
收藏到网摘: n/a

作者:tigerwen01

大家在日常开发中,经常会遇到开发一个向客户自动发送Email的应用模块,例如,当客户操作某一特定的操作或上网注册、购物时,服务器端在客户操作完成时向客户自动发送一封确认邮件等。.NETFramework多种方法,可以使用socket(套接字)来建立和邮件服务器的连接,然后使用SMTP(简单邮件传输协议)服务传送邮件,不过这样做相当复杂。我们还是使用.NET框架的System.Web.Mail命名空间提供的类来完成发送Email吧,因为这样做很简单。

System.Web.Mail命名空间为SMTP(简单邮件传输协议)提供了一个简单的托管接口,包含很多类,其中有MailMessage\MailAttachment\SmtpMail等重要类,其中MailAttachment类提供用于构造电子邮件附件的属性和方法,MailMessage类提供用于构造电子邮件的属性和方法,SmtpMail类提供用于使用宿主系统的协作数据对象(CDOSYS)消息组件来发送消息的属性和方法。

为了保证程序能够正确运行,设置IIS中默认SMTP虚拟服务器的“中继”方法如下:

进入“Internet信息服务“界面,右键点击“默认SMTP虚拟服务器属性”在弹出菜单中选择“属性”,在“访问”选项卡中单击“中继”按钮,然后在“中继限制”窗口中在“IP地址(掩码)/域名”处加添“127.0.0.1”。

下面给出一个SendEmail.aspx文件,该文件使用VisualWebDeveloper2005速成版的测试版2下开发,在Windows2000Server+sp4下运行通过。以供参考:

<%@PageLanguage="C#"%>

<%@ImportNamespace="System.Web.Mail"%>

<!DOCTYPEhtmlPUBLIC"-//W3C//DTDXHTML1.1//EN""http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">

<scriptrunat="server">

voidOnSend(ObjectSender,EventArgse){

MailMessagemessge=newMailMessage();

messge.From=Sed.Text;

messge.To=Receiver.Text;

messge.Subject=Subj.Text;

messge.Body=Body.Text;

SmtpMail.SmtpServer="localhost";

SmtpMail.Send(messge);

lab.Text="邮件发送成功!";

}

</script>

<htmlxmlns="http://www.w3.org/1999/xhtml">

<headrunat="server">

<title>发送电子邮件用户界面</title>

</head>

<body>

<h1>发送电子邮件用户界面</h1>

<formid="form1"runat="server">

<div>

<hr>

<tablecellspacing="8">

<tr>

<tdalign=rightvalign=bottom>发送者:</td>

<td><asp:TextBoxID=Sedrunat=server/></td>

</tr>

<tr>

<tdalign=rightvalign=bottom>接收者:</td>

<td><asp:TextBoxID=Receiverrunat=server/></td>

</tr>

<tr>

<tdalign=rightvalign=bottom>主题:</td>

<td><asp:TextBoxID=Subjrunat=server/></td>

</tr>

<tr>

<tdalign=rightvalign=bottom>内容:</td>

<td><asp:TextBoxID=BodyTextMode=MultiLineRows=5Columns=40runat=server/></td>

</tr>

</table>

<hr/>

<asp:ButtonText="发送"OnClick="OnSend"runat=server/>

</div>

</form>

<asp:LabelID=labrunat=server/>

</body>

</html>

本文只介绍如何在.NET框架的应用程序里发送电子邮件,并没有涉及到System.Web.Mail命名空间的类的详细介绍,关于System.Web.Mail可以参考相关资料。