大家在日常开发中经常会遇到开发个向客户自动发送Email应用模块例如当客户操作某特定操作或上网注册、购物时服务器端在客户操作完成时向客户自动发送封确认邮件等.NET Framework 多种思路方法可以使用(套接字)来建立和邮件服务器连接然后使用SMTP(简单邮件传输协议)服务传送邮件不过这样做相当复杂我们还是使用.NET框架.Web.Mail命名空间提供类来完成发送Email吧这样做很简单
.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=\".Web.Mail\" %>
<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.1//EN\" \"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd\">
<script runat=\"server\">
void _disibledevent=> 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=\"发送\" _disibledevent=> </div>
</form>
<asp:Label ID=lab runat=server/>
</body>
</html>
本文只介绍如何在.NET框架应用里发送电子邮件并没有涉及到.Web.Mail命名空间类详细介绍有关.Web.Mail可以参考相关资料
最新评论