用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 = “zhangchulan@yesky.com”

‘定义邮件的接收地址

mailObj.To =” majinhu@yesky.com”

‘定义邮件的暗送地址

mailObj.Bcc=”majinhu@163.net”

‘定义邮件的抄送地址

mailObj.Cc=”majinhu@yesky.com”

‘定义邮件的主题

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 = "zhangchunlan@yesky.com" <br>
<br>
'定义邮件的接收地址 <br>
<br>
mailObj.To ="majinhu@yesky.com" <br>
<br>
'定义邮件的暗送地址 <br>
<br>
mailObj.Bcc="majinhu@163.net" <br>
<br>
'定义邮件的抄送地址 <br>
<br>
mailObj.Cc="majinhu@yesky.com" <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]

(0)

相关推荐

  • 在ASP.NET2.0中通过Gmail发送邮件的代码

    在这里我们主要是使用Gmail,究其原因,是因为,我在使用Gmail的邮箱发送邮件的时候,遇到一小小的困难,而使用163等邮箱的时候,没遇到这个问题.     在ASP.NET2.0中,发送邮件是很简单的,我们主要使用来自命名空间System.Net.Mail中的几个类,MailMessage和SmtpClient.     核心代码是很简洁的,如下:     复制代码 代码如下: string to = "这里填写接收者的Email地址";      string from = &q

  • 在asp.NET 中使用SMTP发送邮件的实现代码

    核心代码: 复制代码 代码如下: public class Mail { #region 邮件参数 static public string accountName = System.Configuration.ConfigurationManager.AppSettings["SmtpAccountName"]; static public string password = System.Configuration.ConfigurationManager.AppSettings[

  • asp.net实现的群发邮件功能详解

    本文实例讲述了asp.net实现的群发邮件功能.分享给大家供大家参考,具体如下: 前段时间在帮老师开发的网站中需要用到一个群发邮件的功能,而自己之前学习cms系统的时候用的we7的群发邮件功能也有一些问题,于是乎便自己去网上查了一下资料,自己总结了一下,并且封装成了一个类,亲测有用,支持附件,希望对大家也有些帮助,我测试时用的是qq邮箱,成功的前提是要在邮箱设置中打开smtp服务功能,如qq邮箱设置里面的账户选项卡里面把需要的功能勾上: 其他邮箱的话原理一样~~~~~~ using System

  • ASP.NET Core 1.0实现邮件发送功能

    准备将一些项目迁移到 asp.net core 先从封装类库入手,在遇到邮件发送类时发现在 asp.net core 1.0中并示提供SMTP相关类库,于是网上一搜发现了MailKit 好东西一定要试一下,何况是开源,下面是代码可实现SMTP邮件发送: using MailKit.Net.Smtp; using MailKit.Security; using MimeKit; using System.Threading.Tasks; namespace ConsoleApp1 { public

  • asp.net基于windows服务实现定时发送邮件的方法

    本文实例讲述了asp.net基于windows服务实现定时发送邮件的方法.分享给大家供大家参考,具体如下: //定义组件 private System.Timers.Timer time; public int nowhour; public int minutes; public string sendTime; public Thread th; public string isOpen;//是否启用定时发送 public string strToEUser; public static i

  • Asp.Net类库中发送电子邮件的代码

    通常验证电子邮件真实有效的办法是:当用户填写的注册资料经过网站初步格式验证之后,用户并不能利用此帐号登录,系统会向用户注册时填写的电子邮件地址发送一封电子邮件,邮件中给出一个链接,只有当用户点击了这个链接之后才能登录到网站,如果用户填写的电子邮件地址不是真实有效的或者不是他本人的,就不会收到这封电子邮件,这样仍然不能登录,这一步一般称之为电子邮件激活. 在.net类库中有两种发送电子邮件的方式,一种是在.net2.0以下版本中的做法,一种是.net2.0以上版本的做法.下面分别介绍这两种办法.

  • 创建基于ASP.NET的SMTP邮件服务的具体方法

    首先,我们创建一个继承命名空间System.Net.Sockets的TcpClient类的类.TcpClient类提供简单的方法用于连接,发送,接收网络的数据流.GetStream方法用于创建一个网络流(NetworkStream).读和写网络流(NetworkStream)的方法用于发送数据给远程主机和从远程主机接收网络流. 复制代码 代码如下: public class ClientConnection : TcpClient{private NetworkStream _NetworkSt

  • asp.net2.0实现邮件发送(测试成功)

    1.Default.aspx代码如下: 复制代码 代码如下: <%@ Page Language="C#" AutoEventWireup="true"  CodeFile="Default.aspx.cs" Inherits="_Default" ValidateRequest="false" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTM

  • asp.net mvc发送邮件实例讲解

    QQ邮箱 POP3 和 SMTP 服务器地址设置如下:邮箱POP3服务器(端口110)SMTP服务器(端口25)qq.compop.qq.comsmtp.qq.comSMTP服务器需要身份验证. 如果是设置POP3和SMTP的SSL加密方式,则端口如下: POP3服务器(端口995) SMTP服务器(端口465或587). qq邮箱要注意开启下面的服务:qq会给你个授权码,在下面的代码中详细的讲了在哪用这个授权码. 控制器中代码: using System.Net.Mail;//邮件发送需引用

  • ASP.NET邮件发送system.Net.Mail案例

    本文实例为大家分享了ASP.NET邮件发送案例,供大家参考,具体内容如下 1.前台页面 SendEmail.aspx 代码 <h2> 发送电子邮件演示 </h2> <table cellpadding="0" cellspacing="0" border="0" style="font-family: 宋体, Arial, Helvetica, sans-serif; font-size: 15px; wi

  • ASP.NET MVC 5之邮件服务器与客户端

    一.概述 首先必须清楚SMTP才是提供邮件服务器的核心,收发邮件全靠SMTP.不信你关掉hMailServer的POP3和IMAP,服务器照样可以收发邮件.POP3和IMAP只是邮件服务器实现的用于提供邮件客户端收取和管理邮件的两种协议,其中POP3协议只能收取服务器上的邮件,而IMAP协议可供客户端管理服务器上的邮件.目前几乎所有的第三方服务器的SMTP都限制了发送配额等各种限制,并且几乎所有的邮件服务器都会检测发送方的域名和IP是否匹配.简单说就是别用第三方的进行测试,也别用自建的locah

  • Asp.net发送邮件的两种方法小结

    一,利用大网站的SMTP来发送邮件 这种方法适用于程序运行环境没有配置SMTP的服务器,想借助于其他smtp来发送邮件的情况,当然需要有此smtp的账户才行,例如如果使用Google的SMTP服务器,有三点需要注意:启用SSL,端口和地址smtp.gmail.com. 二,利用本地的smtp来发送邮件 这种方法要求本地有smtp服务器,如果没有,windows 7和vista上面没有smtp服务器可以安装一个软件, Free SMTP Server,下载地址:http://www.softsta

随机推荐