用Asp.Net 來發送E-mail

來源:互聯網
上載者:User
在這篇文章中,我們將示範如何編寫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地址
Subject Email的主題
Body Email的內容
CC List of recipients copied on the email
BCC List 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>

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.