免费视频淫片aa毛片_日韩高清在线亚洲专区vr_日韩大片免费观看视频播放_亚洲欧美国产精品完整版

打開APP
userphoto
未登錄

開通VIP,暢享免費(fèi)電子書等14項(xiàng)超值服

開通VIP
.net類庫(kù)中發(fā)送電子郵件的方法總結(jié)

.net類庫(kù)中發(fā)送電子郵件的方法總結(jié)

分類: C#基礎(chǔ) asp.net 10776人閱讀 評(píng)論(67) 收藏 舉報(bào)

發(fā)送電子郵件是許多需要用戶注冊(cè)的網(wǎng)站的通用功能,通過正則表達(dá)式我們可以過濾掉不符合電子郵件格式的輸入,但是仍沒有辦法確保用戶填寫的電子郵件地址一定是他本人真實(shí)有效的電子郵件地址,通常驗(yàn)證電子郵件真實(shí)有效的辦法是:當(dāng)用戶填寫的注冊(cè)資料經(jīng)過網(wǎng)站初步格式驗(yàn)證之后,用戶并不能利用此賬號(hào)登錄,系統(tǒng)會(huì)向用戶注冊(cè)時(shí)填寫的電子郵件地址發(fā)送一封電子郵件,郵件中給出一個(gè)鏈接,只有當(dāng)用戶點(diǎn)擊了這個(gè)鏈接之后才能登錄到網(wǎng)站,如果用戶填寫的電子郵件地址不是真實(shí)有效的或者不是他本人的,就不會(huì)收到這封電子郵件,這樣仍然不能登錄,這一步一般稱之為電子郵件激活。
在.net類庫(kù)中有兩種發(fā)送電子郵件的方式,一種是在.net2.0以下版本中的做法,一種是.net2.0以上版本的做法。下面分別介紹這兩種辦法。

一、.net1.0及.net1.1中的做法(利用CDOSYS消息組件發(fā)送電子郵件):

代碼如下:


 

  1. using System;
  2. using System.Web.Mail;
  3. /// <summary>
  4. /// 說明:在.net2.0以下版本中發(fā)送電子郵件的方法示例
  5. /// 用到的類主要位于System.Web.Mail命名空間下
  6. /// 作者:周公
  7. /// 日期:2008-08-08
  8. /// 首發(fā)地址:http://blog.csdn.net/zhoufoxcn
  9. /// </summary>
  10. public class SendMail
  11. {
  12.     public SendMail()
  13.     {
  14.         
  15.     }
  16.     /// <summary>
  17.     /// 發(fā)送郵件
  18.     /// </summary>
  19.     /// <param name="to">收件人郵件地址</param>
  20.     /// <param name="from">發(fā)件人郵件地址</param>
  21.     /// <param name="subject">郵件主題</param>
  22.     /// <param name="body">郵件內(nèi)容</param>
  23.     /// <param name="username">登錄smtp主機(jī)時(shí)用到的用戶名,注意是郵件地址'@'以前的部分</param>
  24.     /// <param name="password">登錄smtp主機(jī)時(shí)用到的用戶密碼</param>
  25.     /// <param name="smtpHost">發(fā)送郵件用到的smtp主機(jī)</param>
  26.     public void Send(string to, string from, string subject, string body, string username, string password, string smtpHost)
  27.     {
  28.         MailMessage mail = new MailMessage();
  29.         mail.To = to;//設(shè)置收件人地址
  30.         mail.From = from;//設(shè)置發(fā)件人地址
  31.         mail.Subject = subject;//設(shè)置郵件主題
  32.         mail.BodyFormat = MailFormat.Html;//設(shè)置郵件以HTML格式發(fā)送
  33.         mail.Body = body;//設(shè)置郵件內(nèi)容
  34.         //設(shè)置發(fā)送郵件時(shí)需要身份驗(yàn)證
  35.         mail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate""1");
  36.         //設(shè)置登錄郵件主機(jī)時(shí)的用戶名,注意如果發(fā)件人地址是abc@def.com,則用戶名是abc而不是abc@def.com
  37.         mail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/sendusername", userName);
  38.         //設(shè)置登錄SMTP主機(jī)的用戶密碼
  39.         mail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/sendpassword", password);
  40.         //設(shè)置發(fā)送郵件的SMTP主機(jī)
  41.         SmtpMail.SmtpServer = smtpHost;
  42.         //發(fā)送郵件,如果發(fā)送不成功會(huì)拋出異常
  43.         SmtpMail.Send(mail);
  44.     }
  45. }

上面的方法底層用到了CDOSYS組件,用到的類主要是System.Web.Mail.SmtpServer和System.Web.Mail.MailMessage,這種方法已經(jīng)被微軟不贊成使用了,取而代之的是.net2.0中的新增的類和方法。

 

二、.net2.0中的做法

代碼:

  1. using System;
  2. using System.Net.Mail;
  3. using System.Net;
  4. /// <summary>
  5. /// 說明:在.net2.0以上版本中發(fā)送電子郵件的方法示例
  6. /// 用到的類主要位于System.Net.Mail和System.Net命名空間下
  7. /// 作者:周公
  8. /// 日期:2008-08-08
  9. /// 首發(fā)地址:http://blog.csdn.net/zhoufoxcn
  10. /// </summary>
  11. public class SendMail2
  12. {
  13.     public SendMail2()
  14.     {
  15.     }
  16.     /// <summary>
  17.     /// 發(fā)送郵件
  18.     /// </summary>
  19.     /// <param name="to">收件人郵件地址</param>
  20.     /// <param name="from">發(fā)件人郵件地址</param>
  21.     /// <param name="subject">郵件主題</param>
  22.     /// <param name="body">郵件內(nèi)容</param>
  23.     /// <param name="username">登錄smtp主機(jī)時(shí)用到的用戶名,注意是郵件地址'@'以前的部分</param>
  24.     /// <param name="password">登錄smtp主機(jī)時(shí)用到的用戶密碼</param>
  25.     /// <param name="smtpHost">發(fā)送郵件用到的smtp主機(jī)</param>
  26.     public void Send(string to, string from, string subject, string body, string userName, string password, string smtpHost)
  27.     {
  28.         MailAddress from = new MailAddress(from);
  29.         MailAddress to = new MailAddress(to);
  30.         MailMessage message = new MailMessage(from, to);
  31.         message.Subject = subject;//設(shè)置郵件主題
  32.         message.IsBodyHtml = true;//設(shè)置郵件正文為html格式
  33.         message.Body = body;//設(shè)置郵件內(nèi)容
  34.         SmtpClient client = new SmtpClient(smtpHost);
  35.         //設(shè)置發(fā)送郵件身份驗(yàn)證方式
  36.         //注意如果發(fā)件人地址是abc@def.com,則用戶名是abc而不是abc@def.com
  37.         client.Credentials = new NetworkCredential(userName, password);
  38.         client.Send(message);
  39.     }
  40. }

在上面的代碼中,主要用到了在.net2.0中新增的兩個(gè)類,分別是System.Net.Mail.MailMessage和System.Net.Mail.SmtpClient兩個(gè)類,在SMTP身份驗(yàn)證方面用到了System.Net.NetworkCredential類。

 

需要注意的是:不管是在那種方式下,身份驗(yàn)證用到的賬號(hào)是網(wǎng)頁(yè)登錄是用到的賬號(hào),如果你的郵箱地址是http://www.360doc.com/mailto:zhou@163.com,在登錄mail.163.com郵箱的時(shí)候,輸入的賬號(hào)是zhou而不是http://www.360doc.com/mailto:zhou@163.com,身份驗(yàn)證的時(shí)候也是如此。

本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊舉報(bào)
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
深入解析ASP.NET中實(shí)現(xiàn)發(fā)送電子郵件
VB.NET發(fā)送電子郵件(通過使用SmtpClient類)
ASP.NET2.0中發(fā)送電子郵件-陳晨-博客園
用vs .net 2005 beta2開發(fā)簡(jiǎn)單smtp郵件程序有感
用System.Net.Mail發(fā)送郵件
發(fā)郵件代碼
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長(zhǎng)圖 關(guān)注 下載文章
綁定賬號(hào)成功
后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服