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

ASP.NET
FreeTextBox(版本3.1.6)在ASP.Net 2.0中使用方法
.NET 常用功能和代码小结
在 .NET Framework 2.0 中未处理的异常导致基于 ASP.NET 的应用程序意外退出
asp.net IList查询数据后格式化数据再绑定控件
asp.net sql存储过程
asp.net 简单实现禁用或启用页面中的某一类型的控件
asp.net(c#)获取内容第一张图片地址的函数
The remote procedure call failed and did not execute的解决办法
ASP.NET 在线文件管理
asp.net 读取并修改config文件实现代码
ASP.NET Cookie 操作实现
asp.net Silverlight中的模式窗体
Silverlight中动态获取Web Service地址
asp.net Silverlight应用程序中获取载体aspx页面参数
asp.net 水晶报表隔行换色实现方法
asp.net 获取Gridview隐藏列的值
手动把asp.net的类生成dll文件的方法
asp.net 使用ObjectDataSource控件在ASP.NET中实现Ajax真分页
动态指定任意类型的ObjectDataSource对象的查询参数
asp.net Md5的用法小结

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-13   浏览: 77 ::
收藏到网摘: 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]