乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

      System.Net.Mail

       趨明 2012-03-19
      System.Net.Mail命名空間是在.NET Framework中新增的,該命名空間提供了發(fā)送電子郵件的功能。System.Net.Mail命名空間包含用于將電子郵件發(fā)送到SMTP服務(wù)器的類(lèi),這些類(lèi)需要結(jié)合Microsoft STMP Server一起使用。

      概述

      System.Net.Mail命名空間下有StmpClient類(lèi)用于發(fā)送郵件,可以完全替代SmtpMail類(lèi)。利用SmtpClient類(lèi)的Send方法可以完成發(fā)送電子郵件的傳輸,也可以用SendAsync方法進(jìn)行異步發(fā)送,后者發(fā)送完成后產(chǎn)生一個(gè)SendCompleted事件來(lái)通知發(fā)送結(jié)束。Send方法可以接受MailMessage類(lèi)的對(duì)象作為參數(shù)。通過(guò)MailMessage類(lèi)可以設(shè)置郵件更多的內(nèi)容和格式,例如,為Attachment類(lèi)設(shè)置添加附件的參數(shù)。

      System.Net.Mail命名空間的類(lèi)組成

      SmtpClient類(lèi)與SMTP結(jié)合在一起,通過(guò)MailMessage類(lèi)、MailAddress類(lèi)、Attachment類(lèi)來(lái)豐富電子郵件的內(nèi)容和設(shè)置。下面展示了用戶通過(guò)System.Net.Mail命名空間下的類(lèi)結(jié)合SMTP發(fā)送電子郵件的過(guò)程。

       

      管理SMTP的類(lèi):SmtpClient類(lèi)

      SmtpClient類(lèi)封裝了將電子郵件發(fā)送到SMTP服務(wù)器的方法和屬性。

      SmtpCleint類(lèi)用于讓?xiě)?yīng)用程序向Smtp服務(wù)器發(fā)送電子郵件,可以通過(guò)同步或者異步的方法發(fā)送電子郵件。通過(guò)結(jié)合MailMessage類(lèi)使用,還可以設(shè)置郵件的格式、添加抄送人、添加附件等。

      語(yǔ)法定義:

      SmtpClient類(lèi)的語(yǔ)法定義如下:

      public class SmtpClient

      下面的代碼演示如何創(chuàng)建一個(gè)SmtpClient的實(shí)例

      SmtpClient client = new SmtpClient("smpt.Sina.com"); //直接通過(guò)構(gòu)造函數(shù)設(shè)置SMTP主機(jī)服務(wù)器

      或:

      SmtpClient client = new SmtpClient();

      Client.Host = "smtp.Sina.com"; // 通過(guò)Host屬性來(lái)設(shè)置SMTP主機(jī)服務(wù)器

      方法詳解:

      SmtpClient類(lèi)主要使用SMTP來(lái)同步或異步地發(fā)送電子郵件。其中最常用的方法及其說(shuō)明如下:

      發(fā)送電子郵件時(shí),只要簡(jiǎn)單地調(diào)用Send方法就可以了,其中Send方法有兩個(gè)重載:

      public void Send(MailMessage message)   其中,參數(shù)message是MailMessage類(lèi)的一個(gè)實(shí)例。

      public void Send(string from ,string recipients,string subject,string body)  ,第二個(gè)有四個(gè)參數(shù),其代表意義如下:

      from : 包含郵件發(fā)件人的地址信息。

      recipients :包含郵件收件人的地址信息。

      subject :包含郵件的主題行。

      body :包含郵件的正文。

      下面的代碼演示了如何使用Send函數(shù)發(fā)送電子郵件:

      static void Main(string[] args)

      {

           SmtpClient client = new SmtpClient();

           //此處省略了client屬性設(shè)置代碼

           client.Send("FromMailBox@Sina.com", "ToMailBox@Sina.com","電子郵件示例","您好,收到了嗎?");

           Console.WriteLine("郵件已經(jīng)成功發(fā)送到{0}","ToMailBox@Sina.com");

      }

      技巧:如果不想主線程等待傳輸電子郵件完成后再執(zhí)行,可以使用異步SendAsync方法。SendAsync操作完成時(shí)會(huì)引發(fā)SendCompleted事件。

       

      管理電子郵件內(nèi)容的類(lèi):MailMessage類(lèi)

           MailMessage類(lèi)的實(shí)例表示一個(gè)電子郵件的所有內(nèi)容,并用SmtpClient類(lèi)來(lái)傳輸?shù)絊MTP服務(wù)器。若要指定電子郵件的發(fā)件人、收件人和內(nèi)容,可以是使用MailMessage類(lèi)的相關(guān)屬性。

           MailMessage類(lèi)是.NET Framework中管理郵件的專(zhuān)用類(lèi),表示可以使用SmtpClient類(lèi)發(fā)送的電子郵件。該類(lèi)提供了豐富的屬性來(lái)創(chuàng)建電子郵件,例如可以用Attachments屬性添加附件。當(dāng)一個(gè)廣告設(shè)計(jì)師要以網(wǎng)頁(yè)的形式向客戶發(fā)送某產(chǎn)品的廣告,還需要抄送自己的上司時(shí),則可以設(shè)置MailMessage類(lèi)的IsBodyHtml屬性為true,并在CC屬性中添加其上司的電子郵箱地址來(lái)同時(shí)發(fā)送。

      語(yǔ)法定義
      public class MailMessage : IDisposable

      該類(lèi)的構(gòu)造函數(shù)有三個(gè)重載。下面的代碼演示如何創(chuàng)建一個(gè)MailMessage類(lèi)的實(shí)例。

      MailMessage message = new MailMessage();  //無(wú)參數(shù)

      //通過(guò)構(gòu)造函數(shù)設(shè)置SMTP主機(jī)服務(wù)器

      MailMessage message = new MailMessage("smtp.sina.com");

      //通過(guò)構(gòu)造函數(shù)設(shè)置SMTP主機(jī)服務(wù)器和端口

      MailMessage message = new MailMessage("smtp.sina.com",25);

      屬性詳解

      MailMessage 類(lèi)除了繼承父類(lèi)的方法外,沒(méi)有提供其他方法。但其提供了豐富的屬性如下:

      屬性:

      AlternateViews : 為了防止有些電子郵件閱讀程序無(wú)法顯示HTML內(nèi)容,該屬性存儲(chǔ)了郵件正文的替代形式的附件集合。

      Attachments : 包含了此電子郵件的所有附件

      Bcc : 包含此電子郵件密件抄送的收件人地址

      Body: 郵件的正文

      BodyEncoding : 郵件正文編碼

      CC :包含了所有此電子郵件抄送的收件人地址

      DeliveryNotificationOptions : DeliveryNotificaionOptions枚舉類(lèi)型,確定此電子郵件的發(fā)送通知

      From : 電子郵件發(fā)信人的地址

      Headers : 電子郵件的標(biāo)頭

      IsBodyHtml : Boolean值,設(shè)置郵件正文是文本還是Html格式,默認(rèn)為文本

      Priority : 電子郵件的優(yōu)先級(jí)

      ReplyTo : 電子郵件的回復(fù)地址,一般與發(fā)信人地址相同

      Sender : 電子郵件發(fā)件人地址

      Subject : 電子郵件的主題

      SubjectEncoding : 電子郵件的主題內(nèi)容的編碼

      To : 包含所有電子郵件的收件人的地址

       

      例子: 使用MailMessage類(lèi)設(shè)置電子郵件的內(nèi)容

      1. static void Main(string[] args)  
      2.   
      3. {  
      4.   
      5.     SmptClient client = new SmptClient();  
      6.   
      7.     //此處省略SmtpClient類(lèi)的其他屬性設(shè)置   
      8.   
      9.     MailMessage message = new MailMessage();  
      10.   
      11.     //添加密件抄送人,可以添加多個(gè)   
      12.   
      13.     message.Bcc.Add("First@domian.com");  
      14.   
      15.     message.Bcc.Add("Second@domain.com");  
      16.   
      17.     message.Body = "這是郵件的正文部分";  
      18.   
      19.     //設(shè)置正文的編碼形式,這里的設(shè)置為取系統(tǒng)默認(rèn)編碼   
      20.   
      21.     message.BodyEncoding = System.Text.Encoding.Default;  
      22.   
      23.     //添加一般抄送人,可以添加多個(gè)   
      24.   
      25.     message.Bcc.Add(“First@domain.com”);  
      26.   
      27.     message.Bcc.Add(Second@domain.com);  
      28.   
      29.     //郵件傳送通知選項(xiàng)   
      30.   
      31.     message.DeliveryNotificationOptions = DeliveryNotificationOptions.OnFailure;  
      32.   
      33.     message.From  = new MailAddress(FromMailBox@sina.com");  
      34.   
      35.      message.IsBodyHtml = false;  
      36.   
      37.     //設(shè)置郵件的優(yōu)先級(jí)為正常   
      38.   
      39.      message.Priority = MailPriority.Normal;  
      40.   
      41.      message.ReplyTo= new MailAddress("FromMailBox@sina.com");  
      42.   
      43.      message.Sender = new MailAddress("FromMailBox@sina.com");  
      44.   
      45.      message.Subject = "這是郵件的主題":  
      46.   
      47.     //設(shè)置主題的編碼形式,這里的設(shè)置為取系統(tǒng)默認(rèn)編碼   
      48.   
      49.      message.SubjectEncoding = System.Text.Encoding.Default;  
      50.   
      51.      Client.Send(message) ;   //發(fā)送成功   
      52.   
      53.      Console.WriteLine("發(fā)送成功!");  
      54.   
      55. }  

      在上面代碼中,用到了DeliveryNotificationOptions枚舉類(lèi)型。該類(lèi)型有5個(gè)成員值,具體代表意義如下:

      Delay : 通知傳送是否延遲

      Never : 從不通知

      None : 沒(méi)有通知

      OnFailure : 通知傳送是否失敗

      OnSuccess : 通知傳送是否成功

       

      管理電子郵件地址類(lèi): MailAddress類(lèi)

      MailAddress 類(lèi)表示電子郵件的地址。該類(lèi)結(jié)合SmtpClient類(lèi)或MailAddress類(lèi)使用,其實(shí)例存儲(chǔ)了電子郵件的地址信息。MailAddress類(lèi)是.NET Framwork新增的類(lèi),可以設(shè)置電子郵件發(fā)件人或收件人的地址。通過(guò)該類(lèi)的屬性可以獲取電子郵件地址的聯(lián)系人的詳細(xì)信息。例如電子郵件中顯示聯(lián)系人的名字和SMPT服務(wù)器上的用戶名。

      語(yǔ)法定義

      該類(lèi)的構(gòu)造函數(shù)有三個(gè)重載,下面的代碼演示了如何創(chuàng)建其實(shí)例:

      //指定電子郵件的地址構(gòu)造一個(gè)新實(shí)例

      MailAddress fromMailBox = new MailAddress("FromMailBox@Sina.com");

      //指定電子郵件的地址和顯示名稱(chēng)構(gòu)造一個(gè)新實(shí)例

      MailAddress fromMailBox = new MailAddress("FromMailBox@Sina.com","顯示名稱(chēng)");

      //指定電子郵件的地址、顯示名稱(chēng)和顯示名稱(chēng)的編碼構(gòu)造一個(gè)新實(shí)例

      MailAddress fromMailBox = new MailAddress("FromMailBox@Sina.com","顯示名稱(chēng)",System.Text.Encoding.Default);

      屬性詳解

      Address: 獲取電子郵件的地址

      DisplayName : 獲取在電子郵件顯示的名稱(chēng)

      Host : 獲取服務(wù)器名稱(chēng),也就是在電子郵件地址@符號(hào)后的服務(wù)器名稱(chēng)

      User : 獲取用戶名稱(chēng),也就是在電子郵件地址@符號(hào)前的用戶名

      1. static void Main(string[] args)  
      2.   
      3. {  
      4.   
      5.     MailAddress  FromMailBox = new MailMessage("FromMailBox@sina.com","張三");  
      6.   
      7.    Console.WriteLine("電子郵件地址是:{0} 顯示名:{1} 服務(wù)器名:{2}  用戶名:{3}",  
      8.   
      9.     FromMailBox.Address,FromMailBox.DisplayName,FromMailBox.Host,FromMailBox.User):  
      10.   
      11. }  

      輸出結(jié)果: 電子郵件地址是:FromMailBox@sina.com  顯示名:張三 服務(wù)器名:sina.com 用戶名:FromMailBox

       

      表示電子郵件附件的類(lèi): Attachment類(lèi)

      Attachment類(lèi)表示電子郵件的附件集合。該類(lèi)結(jié)合了MailMessage類(lèi)一起使用,可以為電子郵件添加附件。該類(lèi)可以使用字符類(lèi)型和數(shù)據(jù)流(Stream)的形式創(chuàng)建附件。支持?jǐn)?shù)據(jù)流的形式就意味著能用任何的文件格式作為附件,例如TXT格式或DOC格式。

      語(yǔ)法定義

      public class Attachment: AttachmentBase

      該類(lèi)的構(gòu)造函數(shù)有6個(gè)重載,下面演示創(chuàng)建一個(gè)Attachment類(lèi)的實(shí)例的兩種常用方式。

      Attachment item = new Attachment(@"c:\附件.txt",MediaTypeNames.Text.Plain);

      以上這種情況,第一個(gè)參數(shù)為附件的路徑,第二個(gè)參數(shù)附件的MIME內(nèi)容標(biāo)頭信息,簡(jiǎn)單來(lái)說(shuō)就是表明文件的格式。

      System.IO.FileInfo file = new System.IO.FileInfo(@"c:\附件.txt");

      System.IO.FileStream stream = file.OpenRead();

      Attachment item = new Attachment(stream,MediaTypeNames.Text.Plain);

      第二種情況,第一個(gè)參數(shù)以數(shù)據(jù)流的方式傳入。數(shù)據(jù)流可以從文件中讀出,也可以從數(shù)據(jù)庫(kù)中讀出。第二個(gè)參數(shù)跟上一種情況相同。

      方法詳解

      除了通過(guò)new關(guān)鍵字實(shí)例化一個(gè)Attachment類(lèi)對(duì)象外,還可以用Attachment類(lèi)提供的靜態(tài)方法CreateAttachmentFromString來(lái)創(chuàng)建該類(lèi)的一個(gè)實(shí)例。下面的代碼演示了如何使用CreateAttachmentFromString方法。

      Attachment item = Attachment.CreateAttachmentFromString(@"c:\附件.txt",MediaTypeNames.Text.Plain);

       

      屬性詳解

      Attachment類(lèi)通過(guò)一些屬性來(lái)訪問(wèn)附件的內(nèi)容,其中幾個(gè)重要的屬性及其說(shuō)明如下:

      ContentDisposition : 附件的MIME內(nèi)容處置

      ContentStream : 附件的數(shù)據(jù)流

      ContentType : 附件內(nèi)容的類(lèi)型

      Name :  附件內(nèi)容的類(lèi)型名稱(chēng)

      下面用例子說(shuō)明Attachment類(lèi)屬性的用法:

      static void Main(string[] args)

      {

           Attachment content  = new Attachment(@"c:\附件.txt",MediaTypeNames.Text.Plain);

          ContentDisposition dispositioin = content.ContentDispositioin;

           disposition.FileName= “文本附件”;

           Console.WriteLine("附件內(nèi)容名稱(chēng):{0}   類(lèi)型名稱(chēng):{1}     附件文件:{2}",content.Name,content.ContentType.MediaType,content.ContentDisposition.FileName);

      }

      上面的代碼輸出結(jié)果為: 附件內(nèi)容名稱(chēng):附件.txt  類(lèi)型名稱(chēng):text/plain     附件文件:文本附件

      典型應(yīng)用:使用Attahment類(lèi)添加電子郵件的附件

      下面演示如何使用Attachment類(lèi)為電子郵件添加一個(gè)文本附件,代碼如下:

      1.  static void Main(string[] args)  
      2.   
      3. {  
      4.   
      5.    SmtpClient client = new SmtpClient();  
      6.   
      7.    //此處省略SmtpClient的其他屬性設(shè)置   
      8.   
      9.     MailMessage message = new MailMessage();  
      10.   
      11.     message.Body = "這是郵件的正文部分";  
      12.   
      13.     //設(shè)置正文的編碼形式,這里的設(shè)置為系統(tǒng)默認(rèn)編碼   
      14.   
      15.      message.BodyEncoding = System.Text.Encoding.Default;  
      16.   
      17.     message.From = new MailAddress("FromMailBox@sina.com");  
      18.   
      19.     message.IsBodyHtml = false;  
      20.   
      21.     message.ReplyTo = new MailAddress("FromMailBox@sina.com");  
      22.   
      23.      message.Sender = new MailAddress("FromMailBox@sina.com");  
      24.   
      25.      message.Subject = "這是郵件的主題";  
      26.   
      27.      //附件添加   
      28.   
      29.      Attachment content = new Attachment(@"c:\附件.txt",MediaTypeNames.Text.Plain);  
      30.   
      31.      message.Attachments.add(content);  
      32.   
      33.       //設(shè)置主題的編碼形式,這里的設(shè)置為系統(tǒng)默認(rèn)編碼   
      34.   
      35.      message.SubjectEncoding = System.Text.Encoding.Default;  
      36.   
      37.      client.Send(message);  //發(fā)送郵件   
      38.   
      39.      Console.WriteLine("發(fā)送成功!");  
      40.   
      41. }  

        本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買(mǎi)等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
        轉(zhuǎn)藏 分享 獻(xiàn)花(0

        0條評(píng)論

        發(fā)表

        請(qǐng)遵守用戶 評(píng)論公約

        類(lèi)似文章 更多