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

来源:互联网 发布:windows mobile刷机包 编辑:程序博客网 时间:2024/05/27 18:17
<script type="text/javascript"><!--google_ad_client = "pub-2947489232296736";/* 728x15, 创建于 08-4-23MSDN */google_ad_slot = "3624277373";google_ad_width = 728;google_ad_height = 15;//--></script><script type="text/javascript"src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>
<script type="text/javascript"><!--google_ad_client = "pub-2947489232296736";/* 160x600, 创建于 08-4-23MSDN */google_ad_slot = "4367022601";google_ad_width = 160;google_ad_height = 600;//--></script><script type="text/javascript"src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>
作者:tigerwen01

大家在日常开发中,经常会遇到开发一个向客户自动发送Email的应用模块,例如,当客户操作某一特定的操作或上网注册、购物时,服务器端在客户操作完成时向客户自动发送一封确认邮件等。.NET Framework 多种方法,可以使用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文件,该文件使用Visual Web Developer 2005速成版的测试版2下开发,在Windows2000Server sp4下运行通过。以供参考:

<%@ Page Language="C#" %>

<%@ Import Namespace="System.Web.Mail" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">

<script runat="server">

void OnSend(Object Sender,EventArgs e) {

MailMessage messge = new MailMessage();

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>

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

<head runat="server">

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

</head>

<body>

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

<form id="form1" runat="server">

<div>

<hr>

<table cellspacing="8">

<tr>

<td align=right valign=bottom>发送者:</td>

<td><asp:TextBox ID=Sed runat=server/></td>

</tr>

<tr>

<td align=right valign=bottom>接收者:</td>

<td><asp:TextBox ID=Receiver runat=server /></td>

</tr>

<tr>

<td align=right valign=bottom>主题:</td>

<td><asp:TextBox ID=Subj runat=server /></td>

</tr>

<tr>

<td align=right valign=bottom>内容:</td>

<td><asp:TextBox ID=Body TextMode=MultiLine Rows=5 Columns=40 runat=server /></td>

</tr>

</table>

<hr />

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

</div>

</form>

<asp:Label ID=lab runat=server/>

</body>

</html>

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

<script type="text/javascript"><!--google_ad_client = "pub-2947489232296736";/* 728x15, 创建于 08-4-23MSDN */google_ad_slot = "3624277373";google_ad_width = 728;google_ad_height = 15;//--></script><script type="text/javascript"src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>
<script type="text/javascript"><!--google_ad_client = "pub-2947489232296736";/* 160x600, 创建于 08-4-23MSDN */google_ad_slot = "4367022601";google_ad_width = 160;google_ad_height = 600;//--></script><script type="text/javascript"src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>
原创粉丝点击