您的位置:首页 > 编程语言 > ASP

用Asp.Net 来发送E-mail

2002-09-19 09:24 519 查看
      在这篇文章中,我们将演示如何编写asp.net来发送emails。这将要讨论到诸如email 格式,优先级别,附件和邮件加密。
      Asp.net通过使用SmtpMail对象来发送邮件。SmtpMail对象发送邮件是通过以下几步来完成的。
      # 导入与mail相关的名称空间。
      # 建立一个message对象并设置属性。
      # 通过SmtpMail对象实例的'Send'方法来发送邮件。

      现在让我们一步步的来了解从asp.net页面发送邮件的过程。
一. 导入名称空间
      在asp.net页面中导入System.Web.Util名称空间,这个名称空间包含了所有发送邮件所必须的对象。这些对象是:
对象简介
SmtpMail声明邮件系统(mail system)来发送邮件。
MailMessage声明一个消息(message),包含发送地址,接收地址等属性。
MailFormat声明消息的格式-Html,Text 等等。
MailAttachment声明邮件的附件。
MailEncoding enum声明加密方式:Base64 or UUencode.
MailPriority enum设置邮件的优先级别:值:高,底,一般
<% @Import Namespace = "System.Web.Util" %>

二。初始化MailMessage 对象
       使用以下语句可以实现初始化MailMessage对象。
       Dim mailObj AS new MailMessage
       MailMessage对象具有以下属性。

属性描述
From发送方的email地址
To接收方的email地址
SubjectEmail的主题
BodyEmail的内容
CCList of recipients copied on the email
BCCList of recipients blind-copied on the email
Priority邮件的优先级别
高,底,一般
BodyEncoding加密邮件的内容
Base64 或 UUencode
BodyFormat内容的格式
Html 或文本
Attachments附件列表
以下几行代码演示了如何使用MailMessage对象的属性的方法。他描述了我们将要创建的消息Message, 而这个消息(message)是用SmtpMail对象来发送的。在我们的这个例子中,mailObj就是MailMeessage对象的实例。

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

三。发送邮件
      最后通过SmtpMail对象的'send'方法来发送邮件。下面的代码就是用来发送邮件的。
SmtpMail.Send(mailObj)
最后我们把以上的这些应用到一个完整的例子当中来。
下面是用Asp.net+C#编写的。

<%@page language="C#" %>
<%@Import Namespace="System.Web.Util" %>
<HTML><BODY>
<SCRIPT LANGUAGE="C#" 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
public void SendMail (Object Obj, EventArgs E)
{
  
  MailMessage mailObj = new MailMessage();

  // 设置email的'from'和'to'的地址
  mailObj.From = Request.Form("From");
  mailObj.To = Request.Form("To");

  mailObj.Subject = "Subject Of the Mail";
  mailObj.Body = "Body of the Mail";

  // 可选: 使用html格式的Email
  mailObj.BodyFormat = MailFormat.Html;

  // 可选: 对邮件进行加密
  mailObj.BodyEncoding = MailFormat.Base64;

  // 可选: 设置邮件的优先级别为高
  mailObj.Priority = MailPriority.High;

  // 可选: 附件
  // 注意这里我们创建了一个MailAttachment对象来附加一个文件到email。
  mailObj.Attachments.Add(new MailAttachment("c://test.doc"));

  // 使用SmtpMail对象来发送邮件。
  SmtpMail.Send(mailObj);
}
</SCRIPT>

<asp:label ID="Headingmsg" Text="Enter Your Email Address:" RUNAT="server"/>

<FORM METHOD="post" RUNAT="server">

Email Recipient: <INPUT TYPE="text" NAME="to"> <br>
Email Sender: <INPUT TYPE="text" NAME="from">

<INPUT TYPE="submit" NAME="Submit" VALUE="Send Mail" RUNAT="server" OnServerClick="SendMail">

</FORM>
</BODY>
   本人的翻译水平不高,有些地方自己懂,但是要翻译过来还真难,希望大家指正。括号中的英文是自己觉得翻译不准的地方。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息