当前位置: 首页 > 图文教程 > 网络编程 > ASP.NET > 用ASP.NET做的个性化的邮件发送系统

ASP.NET
使用函数传递参数来执行相应的数据库操作
如何实现在窗体和窗体之间进行传递数据
ASP.NET中文显示之两种解决方法
ASP.NET、JSP及PHP之间的抉择
ASP.NET 2.0发送电子邮件中存在的问题
谈谈HtmlControl与WebControl的区别与用途
从ASP.NET 1.1升级到ASP.NET 2.0要考虑的Cookie问题
通过系统配置来提高ASP.NET应用程序的稳定性
妙用ASP2.0中的URL映射改变网址
AJAX实现web页面中级联菜单的设计
ASP.NET跨页面传值技巧总结
再议ASP.NET DataGrid控件中的“添加新行”功能
Geometry 对象浅析
重构CollapsibleSplitter
如何利用.NET Framework使用RSS feed
ASP.NET获取IP与MAC地址的方法
在ASP.NET 2.0中使用样式、主题和皮肤
ASP.NET中为GridView添加删除提示框
ASP.NET 2.0,无刷新页面新境界
看看一个.net版对话框控件

用ASP.NET做的个性化的邮件发送系统


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

如果要你用ASP来做一个邮件发送系统,你一定认为这是一个比较复杂的工作。其实也的确是这样。但当他的后继产品ASP.NET被推出以后,他的强大功能就使的这一切就变的相对简单了。真的这样神奇么?我们就通过ASP.NET做一个邮件发送系统,看看到底有什么奥秘,是不是真的简单。 一.运行环境
  虽然Microsoft公司推出Visual Studio .NET已经有一段时间了,但.NET Framework SDK却依然还是BETA版,分别是BETA 1和BETA 2。这二个版本之间也有很大的差异,譬如说,很多名称空间(NameSpace)的名字都不一样。我们这里选择的是BETA 2。操作系统是Windows 2000 professional版。
  二.基本知识
  首先介绍一下做邮件发送系统中用到的一些知识。
  (一).先来简要的认识一下在程序中要用到的协议——简单邮件传输协议(Simple Mail Transfer Protocol)——SMTP, SMTP服务器,是用来发送邮件和中转邮件。写到这也要提一下他的姐妹兄弟邮局协议 3(PostOffice Protocol 3)——POP3。POP3服务器是用来接收邮件的,我们帐户上的邮件就是保存在此类的服务器上。由于我们在本文中只是介绍发送邮件,所以涉及的只是SMTP。
  (二).接着我们来了解一下我们在程序中用到的名称空间(NameSpace)——System.Web.Mail(注:.NET Framework SDK Beta 1版中叫System.Web.Util)。在这个大的类库里面提供了关于邮件发送的丰富的对象、属性、方法,就是他使的发送邮件变成了一件很轻松、愉快的事情。接下来就简要介绍一下各个对象、属性和方法的具体用法:
  (1).对象
  在System.Web.Mail名称空间里面 用来发送邮件的对象主要有三个,分别是SmtpMail、MailMessage、MailAttachment。其中SmtpMail是设定SMTP服务器,由他来选定用什么服务器来发送邮件。MailMessage是三个对象中内容最丰富的,大量的属性包装成我们现在的邮件构成要件,MailAttachment对象则对应着邮件中的附件。
  (2).属性
  在System.Web.Mail名称空间里面是MailMessage对象的属性最为丰富,也最为重要,下表就是他最主要的属性,这些属性都和我们的发送邮件直接相关:
属性名称 代表意义
From 源地址
To 目的地址
Subject 邮件主题
Priority 邮件优先级(High, Low, Normal )
Attachments 附件
Bcc 暗送地址
Cc 抄送地址
Body 邮件内容主体
Bodyformat 邮件格式(Html,Text)
Bodyencoding 邮件编码(Base64, UUencode)
  (3).方法
  在System.Web.Mail名称空间里面最重要的方法就是SmtpMail对象的Send方法,程序中就是通过调用他来发送邮件的。他的调用有二种方式:
  i>.直接调用
  对于SmtpMail对象的Send方法只要有四个参数就可以完成调用,就是说,只要有四个正确的参数就能够发送电子邮件了。具体调用格式如下:
   SmtpMail.send(“邮件源地址”,”邮件目标地址”,”邮件主题”,”邮件内容”)

  但是这种调用过于简单,只能满足简单邮件的发送,对于复杂的邮件,就要用第二中方法来调用:
  ii>.把MailMessage对象作为参数来调用,具体调用如下:
   SmtpMail.send(MailMessage)
  由于MailMessage对象属性多,所以这种调用可以使邮件内容更加丰富,一般采用这种方式来发送邮件。在下面的例子里面就是用这种调用方式。
  三.设计思路及步骤:
  首先要说明的是在此ASP.NET 程序里面我们用的程序语言是Visual Basic .NET。
  第一步:要包括名称空间System.Web.Mail,加入在程序中使用的程序语言类型:



  第二步:初始化SmtpMail、MailMessage对象:
Dim mailObj AS new MailMessage
Dim smtp AS new SmtpMail
‘定义SMTP服务器的名称
Smtp.smtpserver="smtp.yeah.net"
‘定义邮件的发送地址
mailObj.From = “[email protected]
‘定义邮件的接收地址
mailObj.To =” [email protected]
‘定义邮件的暗送地址
mailObj.Bcc=”[email protected]
‘定义邮件的抄送地址
mailObj.Cc=”[email protected]
‘定义邮件的主题
mailObj.Subject = "我的邮件系统,欢迎使用!"
‘定义邮件的主体
mailObj.Body = "这里是邮件的主体!"
‘邮件以 HTML的格式发送
mailObj.BodyFormat = MailFormat.Html
‘定义邮件的有限级,在此设定为高
mailObj.Priority = MailPriority.High
‘给发送的邮件附加上一个附件
mailObj.Attachments.Add(new MailAttachment("c:test.doc"))

  第三步:发送邮件
Smtp.Send(mailObj)
四.程序源代码
[tr=#ebe9eb][td]<SCRIPT language=VB RUNAT="server"> <br>
<br>
Sub SendMail (Obj As Object, E As EventArgs) <br>
<br>
Dim mailObj AS new MailMessage <br>
<br>
Dim smtp AS new SmtpMail <br>
<br>
'定义SMTP服务器的名称 <br>
<br>
Smtp.smtpserver="smtp.yesky.com" <br>
<br>
'定义邮件的发送地址 <br>
<br>
mailObj.From = "[email protected]" <br>
<br>
'定义邮件的接收地址 <br>
<br>
mailObj.To ="[email protected]" <br>
<br>
'定义邮件的暗送地址 <br>
<br>
mailObj.Bcc="[email protected]" <br>
<br>
'定义邮件的抄送地址 <br>
<br>
mailObj.Cc="[email protected]" <br>
<br>
'定义邮件的主题 <br>
<br>
mailObj.Subject = "我的邮件系统,欢迎使用!" <br>
<br>
'定义邮件的主体 <br>
<br>
mailObj.Body = "这里是邮件的主体!" <br>
<br>
'邮件以HTML的格式发送 <br>
<br>
mailObj.BodyFormat = MailFormat.Html <br>
<br>
'定义邮件的有限级 <br>
<br>
mailObj.Priority = MailPriority.High <br>
<br>
'给发送的邮件附加上一个附件,请确定在C盘的根目录下有test.doc文件 <br>
<br>
mailObj.Attachments.Add(new MailAttachment("c:test.doc"))
<br>
<br>
Smtp.Send(mailObj) <br>
<br>
End Sub <br>
<br>
</SCRIPT>
[/td][/tr]