文章 | 入侵攻击 | 安全防御 | 操作系统 | 网站建设 | 网络编程 | 路由交换 | 灾难恢复 | 新闻资讯 | 安全公告
下载 | 漏洞扫描 | 加密破解 | 入侵攻击 | 后门木马 | 溢出程序 | 综合工具 | 安全防护 | 原创发布 | 动画教程
论坛 | 黑客军火 | 配服务器 | 黑客情感 | 免费资源 | 美女贴图 | 灌水无罪 | 在线服务 | 会员照片 | 网站首页
 当前位置:主页 >> 技术文摘 >> 网络编程 >> NET编程 >> 文章内容  
 

 
ASP.NET构建完整E-mail发送系统

www.hx99.org 阅读: 时间:2007-07-12 整理:华西黑盟
------------------------------------------------------------------
 如果要你用ASP来做一个E-mail发送系统,你首先想到的一定是借助第三方开发的组件,但这样做会耗费你很多的银子。当然你也可以用Windows的自带的对象--CDONTS.NewMail对象来传送E-mail,这虽然是免费的,但却十分依赖操作平台,CDONTS.NewMail对象只存在Windows 200和NT底下,在Windows95/98底下是没有这个对象。

自从Microsoft公司推出了ASP.NET,E-mail的发送已经成为WEB程序设计的基本对象。本篇文章就是来讨论如何做一个功能十分完备的E_mai的发送系统。

一.开发和运行平台

Windows2000Professional、.NetFrameWorkBeta2

二.什么样的E-mail发送系统才是一个功能十分完备系统只有当一个邮件发送系统具备了:收件人地址、发信人地址、抄送地址、密送地址、邮件主题、邮件主体、和附件等功能时,这个邮件发送系统才是一个比较完备的系统。

下面就介绍实现这些功能的具体步骤。

三.具体实现步骤

首先要介绍.NetFrameWorkSDK中的一个关于E-mail发送的ClassLibrary(类库)--System.Web.Mail。这个Class library提供了E-mail发送的所有对象、属性和方法。其中最重要的对象是MailMessage对象和SmtpMail对象。MailMessage对象主要是包装E-mail的各个结构。譬如:收件人地址、发信人地址等。SmtpMail对象主要是把已经定义好的MailMessage对象发送出去。下面就一些重要的步骤具体说明一下:

1.为了定义MailMessage对象,首先要创立一个MailMessage对象。通过下面语句就可以创立一个MailMessage对象。
  <%@ImportNamespace="System.Web.Mail"
  DimMailObjasNewMailMessage()%>

2.有了一个MailMessage对象后,下面就来定义邮件的结构。我们按照上图的邮件结构顺序来逐个定义。
  1>.邮件的发送地址
  MailObj.form="发送地址"
  2>.邮件的目的地址
  MailObj.to="目的地址"
  如果你要发送给多个人,用逗号分开每个邮件地址
  3>.邮件的抄送地址
  MailObj.cc="抄送地址"
  同样的,如果你要发送给多个人,可以在"抄送地址"上,写上多个邮件地址,但要用逗号把他们分开。
  4>.邮件的密送地址
  MailObj.bcc="密送地址"
  密送地址和抄送地址类似
  5>.邮件主题:
  MailObj.subject="邮件主题"
  6>.邮件内容:
  MailObj.Body="邮件内容"
  7>.邮件的优先级:
  MailObj.Priority=MailPriority.Normal'这是把邮件的优先级定义为普通,你也可以定义为高(high)、低(low)
  8>.定义邮件格式:
  MailObj.BodyFormat=MailFormat.Text'这是把邮件定义为文本格式,你也可以把邮件定义为超文本格式,只有把MailFormat.Text改成MailFormat.Html即可。
  9>.给邮件添加一个附件:
  用过ASP的人都了解,要想浏览一下文件是多么困难的事情。但ASP.NET出现以后,这一切就变的简单起来。只用下面一行代码,就可以选择驱动器的任何文件。
<inputid="Emailfile"type="file"runat="server"size="40"/>

3.发送E-mail

SmtpMail.SmtpServer=""'指定使用缺省的SMTP服务器
  SmtpMail.Send(MailObj)'发送E-mail


四.程序完整的源代码

<%@ImportNamespace="System.Web.Mail"%>
  <scriptlanguage="vb"runat="server">
  SubSendButton_Click(senderasObject,easEventArgs)
  '创立一个MailMessage对象
  DimMailObjasNewMailMessage()
  '以下是设定MailMessage对象的属性,及程序的一些常规判断。
  '设定邮件的发送地址
  ifEmailFrom.text<>""thenMailObj.From=EmailFrom.text
  '设定邮件的目的地址
  ifEmailTo.text<>""thenMailObj.To=EmailTo.text
  '设定邮件的抄送地址
  ifEmailCc.text<>""thenMailObj.Cc=EmailCc.text
  '设定邮件的密送地址
  ifEmailBcc.text<>""thenMailObj.Bcc=EmailBcc.text
  '设定邮件格式是文本格式,如果要设定成超文本,把MailFormat.Text改成MailFormat.Html
  MailObj.BodyFormat=MailFormat.Text
  '设定邮件优先级,可为High(高),Low(低),Normal(普通)
  MailObj.Priority=MailPriority.Normal
  '设定邮件主题
  MailObj.Subject=EmailSubject.text
  '设定邮件内容
  MailObj.Body=EmailBody.text
  '给邮件增加一个附件
  DimstrFileNameasstring
  strFileName=Emailfile.PostedFile.FileName
  ifstrFileName<>""thenMailObj.Attachments.Add(newMailAttachment(strFileName))
  '指定使用缺省的SMTP服务器
  SmtpMail.SmtpServer=""
  '现在开始发送邮件
  SmtpMail.Send(MailObj)
  panelSendEmail.Visible=false
  panelMailSent.Visible=true
  EndSub
  </script>
  <html>
  <body>
  <asp:panelid="panelSendEmail"runat="server">
  <formMethod="Post"EncType="Multipart/Form-Data"runat="server">
  <h2>欢迎用ASP.NET来发送E-mail</h2>
  <b>请输入邮件发送地址:</b>
  <asp:textboxid="EmailFrom"size="30"runat="server"/>
  <p>
  <b>请输入邮件目的地址:</b>
  <asp:textboxid="EmailTo"size="30"runat="server"/>
  <p>
  <b>请输入邮件抄送地址:</b>
  <asp:textboxid="EmailCc"size="30"runat="server"/>
  <p>
  <b>请输入邮件密送地址:</b>
  <asp:textboxid="EmailBcc"size="30"runat="server"/>
  <p>
  <b>请输入邮件主题:</b>
  <asp:textboxid="EmailSubject"size="30"runat="server"/>
  <p>
  <b>请输入邮件主体:</b>
  <asp:textboxid="EmailBody"TextMode="MultiLine"
  Columns="40"Rows="10"runat="server"/>
  <p>
  <b>请加入附件名称:</b>
  <inputid="Emailfile"type="file"runat="server"size="40"/>
  <asp:buttonrunat="server"id="SendButton"Text="发送"
  OnClick="SendButton_Click"/>
  </form>
  </asp:panel>
  <asp:panelid="panelMailSent"runat="server"Visible="False">
  您的邮件已经成功发送,欢迎您的再次使用!
  </asp:panel>
  </body>
  </html>

五.至此一个完整的E-mail发送系统就完成了。如果你的机器达到了本文前面提到的运行环境,那么就建立一个指向此aspx文件的虚拟目录,连接上Internet,在浏览器里运行此程序,就可以方便的完成E-mail的发送了。


   -------------------------------------------------------------------------------------------
  上一篇:PHOTOSHOP技巧167条
  下一篇:DataGrid和CheckBox的混合使用
   -------------------------------------------------------------------------------------------
用户名:
Email:
评论内容:
 
  精品推荐
推荐:ASPX一句话木马--终
利用ASP.Net 动态生成HTML
asp.net实现验证码
在asp.net中利用session做
Asp.net 中在客户端触发服
Asp.net 中服务端控件事件
ASP.NET上传图片并生成可
ASP.NET AJAX解决网页打开
实现IE浏览器部分菜单命令
Asp.net一夜速成教程
从sqlserver中读取图片
ASP.NET页面间的传值的几
用动态属性和DataView实现
用PagedDataSource类实现D
关于TreeView控件专题
asp.net上传图片并同时生
ASP.NET中水晶报表的使用
ASP.NET 中 Cookie 的基本
ADO.NET使用经验集
Forms身份验证
ASP.NET四种页面导航方式
ASP.NET中如何防范SQL注入
[分享]ASP.NET学习手记```
ASP.NET编程中的十大技巧
用ASP.NET上传图片并生成
关于我们 | 发展历程 | 在线投稿 | 核心监督 | 友情链接 | 网站地图 | 网站留言 | 联系我们
Copyright © 2004-2007 Www.Hx99.Net
版本:华西黑盟网站系统V5.0 Email:root#hx99.org
中国·西安·宝鸡 请使用IE6.0版本, 分辩率1024×768进行浏览
版权所有 任意抄袭 注意完整
陕ICP备06000444号