欢迎光临
我们一直在努力

用ASP.NET构建完整E-mail发送系统-.NET教程,Asp.Net开发

建站超值云服务器,限时71元/月

如果要你用asp来做一个e-mail发送系统,你首先想到的一定是借助第三方开发的组件,但这样做会耗费你很多的银子。当然你也可以用windows的自带的对象–cdonts.newmail对象来传送e-mail,这虽然是免费的,但却十分依赖操作平台,cdonts.newmail对象只存在windows 200和nt底下,在windows 95/98底下是没有这个对象。

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

一.开发和运行平台

windows 2000 professional、.net framework beta 2

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

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

三.具体实现步骤

首先要介绍.net framework sdk中的一个关于e-mail发送的class library(类库)–system.web.mail。这个class library提供了e-mail发送的所有对象、属性和方法。其中最重要的对象是mailmessage对象和smtpmail对象。mailmessage对象主要是包装e-mail的各个结构。譬如:收件人地址、发信人地址等。smtpmail对象主要是把已经定义好的mailmessage对象发送出去。下面就一些重要的步骤具体说明一下:

1.为了定义mailmessage对象,首先要创立一个mailmessage对象。通过下面语句就可以创立一个mailmessage对象。

<% @import namespace="system.web.mail"

dim mailobj as new mailmessage() %>

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出现以后,这一切就变的简单起来。只用下面一行代码,就可以选择驱动器的任何文件。

<input id="emailfile" type="file" runat="server" size="40" />

3.发送e-mail

smtpmail.smtpserver = "" 指定使用缺省的smtp服务器

smtpmail.send(mailobj) 发送e-mail

四.程序完整的源代码

<% @import namespace="system.web.mail" %>

<script language="vb" runat="server">

sub sendbutton_click(sender as object, e as eventargs)

创立一个 mailmessage 对象

dim mailobj as new mailmessage()

以下是设定mailmessage 对象的属性,及程序的一些常规判断。

设定邮件的发送地址

if emailfrom.text<>"" then mailobj.from = emailfrom.text

设定邮件的目的地址

if emailto.text<>"" then mailobj.to = emailto.text

设定邮件的抄送地址

if emailcc.text<>"" then mailobj.cc = emailcc.text

设定邮件的密送地址

if emailbcc.text<>"" then mailobj.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

给邮件增加一个附件

dim strfilename as string

strfilename=emailfile.postedfile.filename

if strfilename<>"" then mailobj.attachments.add(new mailattachment(strfilename))

指定使用缺省的smtp服务器

smtpmail.smtpserver = ""

现在开始发送邮件

smtpmail.send(mailobj)

panelsendemail.visible = false

panelmailsent.visible = true

end sub

</script>

<html>

<body>

<asp:panel id="panelsendemail" runat="server">

<form method="post" enctype="multipart/form-data" runat="server">

<h2>欢迎用asp.net来发送e-mail</h2>

<b>请输入邮件发送地址:</b>

<asp:textbox id="emailfrom" size="30" runat="server" />

<p>

<b>请输入邮件目的地址:</b>

<asp:textbox id="emailto" size="30" runat="server" />

<p>

<b>请输入邮件抄送地址:</b>

<asp:textbox id="emailcc" size="30" runat="server" />

<p>

<b>请输入邮件密送地址:</b>

<asp:textbox id="emailbcc" size="30" runat="server" />

<p>

<b>请输入邮件主题:</b>

<asp:textbox id="emailsubject" size="30" runat="server" />

<p>

<b>请输入邮件主体:</b>

<asp:textbox id="emailbody" textmode="multiline"

columns="40" rows="10" runat="server" />

<p>

<b>请加入附件名称:</b>

<input id="emailfile" type="file" runat="server" size="40" />

<asp:button runat="server" id="sendbutton" text="发送"

onclick="sendbutton_click" />

</form>

</asp:panel>

<asp:panel id="panelmailsent" runat="server" visible="false">

您的邮件已经成功发送,欢迎您的再次使用!

</asp:panel>

</body>

</html>

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

赞(0)
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com 特别注意:本站所有转载文章言论不代表本站观点! 本站所提供的图片等素材,版权归原作者所有,如需使用,请与原作者联系。未经允许不得转载:IDC资讯中心 » 用ASP.NET构建完整E-mail发送系统-.NET教程,Asp.Net开发
分享到: 更多 (0)