【陳晨】ASP.NET 2.0中傳送電子郵件
ASP.NET 2.0 中傳送電子郵件變得非常簡單。傳送電子郵件的類庫主要在名稱空間System.Net.Mail中,在這個名稱空間中有兩個核心類是:
· MailMessage:描述一個電子郵件訊息;它擁有From,To,Subject,Body等屬性;
· SmtpClient:把一個指定的MailMessage例項傳送到一個指定的SMTP伺服器。
傳送電子郵件的一般步驟是:
1.建立一個MailMessage物件;
2.賦給它的From,To,Subject,Body等屬性;
3.建立一個SmtpClient類例項;
4.指定關於使用該SMTP伺服器的細節(如果它們沒有在Web.config中指定);
5.經由SmtpClient物件的Send方法傳送該MailMessage。
下面的程式碼演示了傳送電子郵件的過程:
上述方法是通過Code方式傳送郵件的,而在Asp.Net 2.0中Framework考慮更多的是配置式,也就是通過config方式來進行應用程式的控制,減少程式引數硬編碼,這個配置節屬於節下的。
首先在Web.config檔案中增加如下配置節:
接下來是程式程式碼,你會發現配置方式較Code方式程式碼是多麼簡潔,而且避免了硬編碼,Smtp資訊是從配置檔案中讀取的。
相比Code方式,我們發現配置方式程式碼中省去了發件人郵箱,SMTP伺服器和SMTP伺服器認證的Credentials,程式碼變得相當簡潔,更為重要的是這些資訊可以在Web.config檔案中配置,這就大大增加了程式的靈活性,這是推薦採用的方式
· MailMessage:描述一個電子郵件訊息;它擁有From,To,Subject,Body等屬性;
· SmtpClient:把一個指定的MailMessage例項傳送到一個指定的SMTP伺服器。
傳送電子郵件的一般步驟是:
1.建立一個MailMessage物件;
2.賦給它的From,To,Subject,Body等屬性;
3.建立一個SmtpClient類例項;
4.指定關於使用該SMTP伺服器的細節(如果它們沒有在Web.config中指定);
5.經由SmtpClient物件的Send方法傳送該MailMessage。
下面的程式碼演示了傳送電子郵件的過程:
string mailServerName = "smtp.126.com"; //傳送郵件的SMTP伺服器
string mailFrom = "sender0624@126.com"; //發件人郵箱(用126的郵件伺服器,就必須用126郵箱的使用者名稱)
string mailTo = "supremezone@126.com"; //收件人郵箱
string subject = "用程式碼方式傳送郵件";//郵件主題
string body = "這裡是郵件正文了"; //郵件正文
using (MailMessage message = new MailMessage(mailFrom, mailTo, subject, body))
{
//SmtpClient是傳送郵件的主體,這個建構函式是告知SmtpClient傳送郵件時使用哪個SMTP伺服器
SmtpClient mailClient = new SmtpClient(mailServerName);
//將認證例項賦予mailClient,也就是訪問SMTP伺服器的使用者名稱和密碼
mailClient.Credentials = new NetworkCredential("sender0624", "111111");
//最終的傳送方法
mailClient.Send(message);
}
string mailFrom = "sender0624@126.com"; //發件人郵箱(用126的郵件伺服器,就必須用126郵箱的使用者名稱)
string mailTo = "supremezone@126.com"; //收件人郵箱
string subject = "用程式碼方式傳送郵件";//郵件主題
string body = "這裡是郵件正文了"; //郵件正文
using (MailMessage message = new MailMessage(mailFrom, mailTo, subject, body))
{
//SmtpClient是傳送郵件的主體,這個建構函式是告知SmtpClient傳送郵件時使用哪個SMTP伺服器
SmtpClient mailClient = new SmtpClient(mailServerName);
//將認證例項賦予mailClient,也就是訪問SMTP伺服器的使用者名稱和密碼
mailClient.Credentials = new NetworkCredential("sender0624", "111111");
//最終的傳送方法
mailClient.Send(message);
}
上述方法是通過Code方式傳送郵件的,而在Asp.Net 2.0中Framework考慮更多的是配置式,也就是通過config方式來進行應用程式的控制,減少程式引數硬編碼,這個配置節屬於
<system.net>
<!--如果是第三方smtp伺服器,需要指定userName 和 password,並根據host指定發件人郵件地址from
測試發現from值必須是userName值加上指定的smpt伺服器才行,而且是必須指定的
如果是本機smtp伺服器,只需指定defaultCredentials="true"即可-->
<mailSettings>
<smtp deliveryMethod="Network" from ="sender0624@126.com" >
<network host="smtp.126.com" port="25" userName="sender0624" password="111111/>
smtp>
mailSettings>
system.net>
<!--如果是第三方smtp伺服器,需要指定userName 和 password,並根據host指定發件人郵件地址from
測試發現from值必須是userName值加上指定的smpt伺服器才行,而且是必須指定的
如果是本機smtp伺服器,只需指定defaultCredentials="true"即可-->
<mailSettings>
<smtp deliveryMethod="Network" from ="sender0624@126.com" >
<network host="smtp.126.com" port="25" userName="sender0624" password="111111/>
smtp>
mailSettings>
system.net>
接下來是程式程式碼,你會發現配置方式較Code方式程式碼是多麼簡潔,而且避免了硬編碼,Smtp資訊是從配置檔案中讀取的。
using (MailMessage message = new MailMessage())
{
message.To.Add(new MailAddress("supremezone@126.com")); //收件人郵箱
message.Subject = "通過配置檔案設定傳送郵件";//郵件主題
message.Body = "這裡是郵件正文了"; //郵件正文
SmtpClient mailClient = new SmtpClient();
mailClient.Send(message);
}
{
message.To.Add(new MailAddress("supremezone@126.com")); //收件人郵箱
message.Subject = "通過配置檔案設定傳送郵件";//郵件主題
message.Body = "這裡是郵件正文了"; //郵件正文
SmtpClient mailClient = new SmtpClient();
mailClient.Send(message);
}
相比Code方式,我們發現配置方式程式碼中省去了發件人郵箱,SMTP伺服器和SMTP伺服器認證的Credentials,程式碼變得相當簡潔,更為重要的是這些資訊可以在Web.config檔案中配置,這就大大增加了程式的靈活性,這是推薦採用的方式
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/12639172/viewspace-349312/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 如何傳送電子郵件到別人郵箱?電子郵件傳送的方法
- 用oracle傳送電子郵件Oracle
- ASP.NET 2.0中傳送電子郵件剖析之一ASP.NET
- ASP.NET 2.0傳送電子郵件全面剖析之二ASP.NET
- 電子郵件協議及GO傳送QQ郵件協議Go
- 在ASP.NET中傳送電子郵件的例項教程ASP.NET
- ASP.NET 2.0傳送電子郵件中存在的問題ASP.NET
- SpringBoot實現傳送電子郵件Spring Boot
- C# 傳送電子郵件原始碼片段C#原始碼
- 在Linux命令列傳送電子郵件Linux命令列
- ASP.NET之郵件傳送ASP.NET
- asp.net傳送郵件程式ASP.NET
- SpringBoot傳送電子郵件(附原始碼)Spring Boot原始碼
- 從Oracle9i中傳送電子郵件Oracle
- 利用SQL Server 2005資料庫郵件傳送電子郵件SQLServer資料庫
- 在VC中呼叫預設的電子郵件程式傳送郵件 (轉)
- 在.NET框架應用程式中傳送電子郵件框架
- ASP.net傳送郵件的例項ASP.NET
- 電子郵件哪個好用?口碑不錯的郵件傳送平臺推薦!
- 郵件傳送
- 傳送郵件
- Spring Boot 參考指南(驗證&傳送電子郵件)Spring Boot
- 4個可以傳送完整電子郵件的命令列工具命令列
- 傳送電子郵件的4個Linux命令列工具Linux命令列
- ASP.NET2.0傳送電子郵件示例程式碼ASP.NET
- .net類庫中傳送電子郵件的方法總結
- SQL Server 2000怎樣配置傳送電子郵件SQLServer
- 怎麼傳送電子郵件到別人郵箱?手把手教你!
- asp.net定時傳送郵件總結ASP.NET
- SpringBoot整合Mail傳送郵件&傳送模板郵件Spring BootAI
- 如何使用ABAP傳送帶有PDF格式附件的電子郵件
- 在SQL Server中使用儲存過程傳送電子郵件SQLServer儲存過程
- 用 C++Builder 編寫傳送電子郵件軟體 (轉)C++UI
- Laravel 傳送郵件Laravel
- PHP傳送郵件PHP
- Django——郵件傳送Django
- java郵件傳送Java
- Laravel傳送郵件Laravel