在.NET框架應用程式中傳送電子郵件

iteye_20683發表於2009-12-17

出處:CSDN BLOG 作者:tigerwen01 時間:2006-12-5 14:24:00

大家在日常開發中,經常會遇到開發一個向客戶自動傳送Email的應用模組,例如,當客戶操作某一特定的操作或上網註冊、購物時,伺服器端在客戶操作完成時向客戶自動傳送一封確認郵件等。.NET Framework 多種方法,可以使用socket(套接字)來建立和郵件伺服器的連線,然後使用SMTP(簡單郵件傳輸協議)服務傳送郵件,不過這樣做相當複雜。我們還是使用.NET框架的System.Web.Mail名稱空間提供的類來完成傳送Email吧,因為這樣做很簡單。

System.Web.Mail名稱空間為SMTP(簡單郵件傳輸協議)提供了一個簡單的託管介面,包含很多類,其中有MailMessage/MailAttachment/SmtpMail等重要類,其中MailAttachment 類提供用於構造電子郵件附件的屬性和方法,MailMessage 類提供用於構造電子郵件的屬性和方法,SmtpMail 類提供用於使用宿主系統的協作資料物件 (CDOSYS) 訊息元件來傳送訊息的屬性和方法。

為了保證程式能夠正確執行,設定IIS中預設SMTP虛擬伺服器的“中繼”方法如下:

進入“Internet資訊服務“介面,右鍵點選“預設SMTP虛擬伺服器屬性”在彈出選單中選擇“屬性”,在“訪問”選項卡中單擊“中繼”按鈕,然後在“中繼限制”視窗中在“IP地址(掩碼)/域名”處加添“127.0.0.1”。

下面給出一個SendEmail.aspx檔案,該檔案使用Visual Web Developer 2005速成版的測試版2下開發,在Windows2000Server+sp4下執行通過。以供參考:

<script runat="server"></script>

void OnSend(Object Sender,EventArgs e) {

MailMessage messge = new MailMessage();

messge.From = Sed.Text;

messge.To = Receiver.Text;

messge.Subject = Subj.Text;

messge.Body = Body.Text;

SmtpMail.SmtpServer = "localhost";

SmtpMail.Send(messge);

lab.Text ="郵件傳送成功!";

}

傳送電子郵件使用者介面

傳送電子郵件使用者介面


傳送者:

<textbox id="Sed" runat="server/"></textbox>

接收者:

<textbox id="Receiver" runat="server"></textbox>

主題:

<textbox id="Subj" runat="server"></textbox>

內容:

<textbox id="Body" textmode="MultiLine" rows="5" columns="40" runat="server"></textbox>


本文只介紹如何在.NET框架的應用程式裡傳送電子郵件,並沒有涉及到System.Web.Mail名稱空間的類的詳細介紹,關於System.Web.Mail可以參考相關資料。

相關文章