快速业务通道

ASP.NET实现发送Email完整实例

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-04-12

本文举例说明在ASP.NET中发送Email的众多可能性,内容覆盖了诸如Email格式、优先权、附件及Email编码等方面。
ASP.NET被赋予了一个发送Email的新对象,名为SmtpMail。使用SmtpMail对象从ASP.NET页面中发送Email时,可以遵循以下简单步骤:

▲包含与邮件有关类所需要的名称空间;
▲例示一个信息对象,设置属性;
▲使用SmtpMail对象实例的send方法发送邮件。

现在我们就来一步一步地研究从一个ASP.NET页面发送Email的过程。我们使用了VB来说明这个例子,最后将包含VB和C#的完整代码。

第一步:包含名称空间

在ASP.NET 页面中引入System.Web.Util 名称空间,这个名称空间中包括了发送一个email所必须的所有对象。这些对象是:

SmtpMail:代表邮件系统,用于发送email。
MailMessage:代表一个信息,其属性包括发件人地址、收件人地址等。
MailFormat:代表信息的格式:HTML、文本等。
MailAttachment:代表一个email附件。
MailEncoding enum:代表Base64 或Uuencode的任何编码。取值范围:Base64、UUencode
MailPriority enum:用来为信息设置优先权。值为:高、低、一般。
〈% @Import Namespace = "System.Web.Util" %〉

第二步:例示 MailMessage 对象

使用以下语句来例示MailMessage对象:

Dim mailObj AS new MailMessage

用MailMessage对象的属性来准备邮件。MailMessage对象有下列属性:

From:发件人的Email地址
To:收件人的Email地址
Subject:email的主题
Body:email的主体
CC:email抄送的收件人列表
BCC:email暗送的占 肆斜?
Priority:信息的优先权:高、低或一般
BodyEncoding:信息体的编码,如果有的话,就是Base64或UUencode
BodyFormat:信息的格式:Html 或text
Attachments:附加到email 的MailAttachment对象列表,主要就是对这个对象集合的一个引用

下面这段代码示范了使用MailMessage 对象属性的方法,它们代表了将在本例中创建的一个信息,这个信息要用SmtpMail对象来发送。在例子中,mailObj引用了信息对象的例示:

mailObj.From = "abc@mydomain.com"
mailObj.To = Request.Form ("to")
mailObj.Subject = "subject of the mail"
mailObj.Body = "Message of the mail"

第三步:发送Email

这时,我们就可以使用SmtpMail 对象的Send方法来发送邮件了:

SmtpMail.Send(mailObj)

完整实例

最后,我们把以上解释的属性结合在一个完整的例子中。为了说明用ASP.NET 发送一个email 的全部可能性,我们还包含了一些“小技巧”。下面是使用VB.NET的完整例子:

〈%@page language="VB" %〉
〈%@Import Namespace="System.Web.Util" %〉
〈HTML〉〈BODY〉
〈SCRIPT LANGUAGE="VB" RUNAT="server"〉
'' This method is called on the server when the submit
'' button is clicked on the client and when the page
'' posts back to itself
Sub SendMail (Obj As Object, E As EventArgs)
'' Instantiate a MailMessage object. This serves as a message object
'' on which we can set properties.
Dim mailObj AS new MailMessage
'' Set the from and to address on the email
mailObj.From = Request.Form("From")
mailObj.To = Request.Form("To")
mailObj.Subject = "Subject Of the Mail"
mailObj.Body = "Body of the Mail"
'' Optional: HTML format for the email
mailObj.BodyFormat = MailFormat.Html
'' Optional: Encoding for the message
mailObj.BodyEncoding = MailFormat.Base64
''

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号