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

ASP.NET
Asp.net 时间操作基类(支持短日期,长日期,时间差)
asp.net 获取机器硬件信息(cpu频率、磁盘可用空间、内存容量等)
asp.net 数据库备份还原(sqlserver+access)
Asp.Net 数据操作类(附通用数据基类)
Asp.net 弹出对话框基类(输出alet警告框)
Asp.net 文件上传类(取得文件后缀名,保存文件,加入文字水印)
Asp.net Socket客户端(远程发送和接收数据)
Asp.net 字符串操作基类(安全,替换,分解等)
Asp.Net数据输出到EXCEL表格中
asp.net Gridview里添加汇总行
asp.net UpdatePanel的简单用法
asp.net ajaxControlToolkit FilteredTextBoxExtender的简单用法
this connector is disabled错误的解决方法
sql事务应用积累
asp.net Page.Controls对象(找到所有服务器控件)
在asp.NET中字符串替换的五种方法
ASP.NET缓存方法分析和实践示例代码
asp.net 在DNN模块开发中遇到的resx怪问题
ASP.NET State service状态服务的问题解决方法
asp.net 结合mysql存储过程进行分页代码

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-08-14   浏览: 217 ::
收藏到网摘: 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可以参考相关资料。