• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      基于.NET Framework類庫實現(xiàn)簡單電子郵件發(fā)送系統(tǒng)

      2019-01-11 06:00:16陳文蘭
      智能計算機(jī)與應(yīng)用 2019年1期
      關(guān)鍵詞:類庫收件人電子郵件

      陳文蘭

      (南京市莫愁中等專業(yè)學(xué)校 電子信息系, 南京 210017)

      1 .NET Framework及類庫

      .NET的核心是.NET Framework(微軟.NET 框架體系)。.NET Framework有2個重要的組件,一是最基本的通用語言運(yùn)行時庫CLR(Common Language Runtime),是運(yùn)行時的環(huán)境,提供程序編譯、內(nèi)存管理、安全性管理等功能,是執(zhí)行管理代碼的代理;二是具有多種處理功能的類庫。.NET Framework類庫是一個綜合性的面向?qū)ο蟮目芍赜玫念愋图?,包括的類型有類、接口、委托、結(jié)構(gòu)和枚舉等。可以用類庫來開發(fā)多種應(yīng)用程序,這些應(yīng)用程序包括字符用戶界面(命令行)或圖形界面(GUI)應(yīng)用程序,也包括基于ASP.NET的應(yīng)用程序。

      .NET Framework類庫是以多層嵌套的“命名空間”方式來組織“類”,或者說這些“類”分布在不同的“命名空間”中。命名空間是用來組織和重用代碼的編譯單元,也稱“名稱空間”或“名字空間”。因此,要使用命名空間所包含的類,通常使用using關(guān)鍵字來導(dǎo)入該命名空間。.NET類庫位于命名空間“System”下,System命名空間包含了上百個類、接口、結(jié)構(gòu),涉及了多種重要的基本處理功能。System命名空間中還包含許多二級命名空間,如System. Net命名空間為網(wǎng)絡(luò)使用的多種協(xié)議提供了編程接口。而System.Net.Sockets命名空間則為網(wǎng)絡(luò)訪問提供Windows Sockets接口的托管實現(xiàn)。作為程序開發(fā)者可以定義自己的類,從而擴(kuò)展類庫中的類。當(dāng)然也可以定義專用的命名空間,這樣可以避免自定義的“類”和其它“類”發(fā)生沖突。

      2 電子郵件系統(tǒng)的工作過程

      電子郵件系統(tǒng)按客戶/服務(wù)器(Client/Server,簡稱C/S)模式工作。發(fā)件人通過電子郵件客戶端中的郵件發(fā)送程序按照SMTP協(xié)議先與發(fā)件人郵箱所在的郵件服務(wù)器建立連接,再與收件人郵件服務(wù)器進(jìn)行連接。如果收件人的郵箱存在,就將郵件傳送給收件人郵件服務(wù)器,并由收件人郵件服務(wù)器將郵件放入收件人的郵箱。否則,發(fā)件人信箱服務(wù)器就會退回信件,同時通知發(fā)件人。

      收件人任何時候在任何已經(jīng)連接到互聯(lián)網(wǎng)的終端(如計算機(jī))上都可以檢查并接收郵件。接收郵件時,收件人終端上運(yùn)行的電子郵件客戶端的郵箱訪問程序會按照POP3協(xié)議或者IMAP4協(xié)議向收件人的郵件服務(wù)器提出收信請求,只要用戶輸入的身份信息(如用戶名和密碼)正確,就可以從自己的郵箱內(nèi)讀出郵件或下載郵件,工作過程如圖1所示。

      圖1 電子郵件系統(tǒng)的工作過程

      在電子郵件系統(tǒng)中,使用SMTP協(xié)議來發(fā)送電子郵件, 并控制信件中轉(zhuǎn)方式。SMTP(Simple Mail Transfer Protocol)是一組用于由源地址到目的地址傳送郵件的規(guī)則。 郵件服務(wù)器執(zhí)行SMTP協(xié)議,檢查是否有郵件需要發(fā)送和接收,并負(fù)責(zé)把要發(fā)送的電子郵件發(fā)送出去,把要接收的郵件放到收件人郵箱。SMTP協(xié)議是本文實現(xiàn)電子郵件發(fā)送系統(tǒng)的重要協(xié)議。

      3 電子郵件發(fā)送系統(tǒng)實現(xiàn)

      3.1 命名空間及相關(guān)類的使用

      (1)System.Net.Mail命名空間。System.Net.Mail命名空間提供了發(fā)送電子郵件的基本功能,此命名空間中包含用于將電子郵件發(fā)送到SMTP服務(wù)器所需的類或枚舉,成員有MailMessage、MailAddress、SmtpClient、Atachment、MailPriority、SmtpStatusCode等。

      (2)MailMessage類。要成功發(fā)送一個郵件需涉及MailMessage類,該類用來定義郵件,包括內(nèi)容、主題、收件人、發(fā)件人等信息。MailMessage類的主要屬性有Attachment表示電子郵件的附件;MailAddress表示電子郵件發(fā)件人或收件人的地址;MailMessage表示可以使用SmtpClient類發(fā)送的電子郵件;SmtpClient允許應(yīng)用程序使用簡單郵件傳輸協(xié)議SMTP來發(fā)送電子郵件;MailPriority指定MailMessage的優(yōu)先級。

      (3)MailAddress類。用來定義收件人、發(fā)件人的地址。

      (4)SmtpClient類。用來發(fā)送由MailMessage類定義好的郵件。SmtpClient類的主要屬性有SmtpClient,初始化SmtpClient類的新實例;Credentials驗證發(fā)件人的身份;Host獲取或設(shè)置SMTP服務(wù)器名稱或IP地址;Port獲取或設(shè)置SMTP服務(wù)器端口。Send方法用于將電子郵件發(fā)送到SMTP服務(wù)器。

      (5)Atachment類。若發(fā)送郵件時,需要發(fā)送附件,就用到Atachment類。此類用來定義郵件的附件,要和MailMessage配合使用。主要屬性ContentDisposition用來獲取附件內(nèi)容的MIME描述;ContentType獲取郵件附件內(nèi)容的類型;TransferEncoding獲取或指定郵件的編碼類型。

      3.2 發(fā)送電子郵件功能實現(xiàn)

      以163的SMTP服務(wù)器為例,發(fā)送一個具有附件功能的電子郵件,關(guān)鍵代碼運(yùn)用如下:

      //定義一個名為mm的MailMessage對象,對象sclient可以看作為一個郵件

      MailMessage mm = new MailMessage();

      //定義一個名為sclient的SmtpClient對象,對象mm可以看作為一個郵件服務(wù)器,這里使用了163郵件服務(wù)器

      SmtpClient sclient = new SmtpClient("smtp.163.com");

      //定義一個名為aFile的附件,附件所在路徑為d: est.txt

      Attachment aFile = new Attachment("d:\test.txt");

      //定義發(fā)件人的地址

      mm.From = new MailAddress("********@163.com");

      //定義收件人的地址

      mm.To.Add(new MailAddress("****@126.com");

      //定義抄送人的地址

      mm.CC.Add("****@qq.com");

      //定義郵件的主題為“Hello”

      mm.Subject ="Hello";

      //定義郵件的內(nèi)容關(guān)于中秋問候

      mm.Body ="中秋節(jié)快樂!";

      //添加一個附件

      mm.Attachments.Add(aFile);

      //提供一種驗證方式

      sclient.Credentials=CredentialCache.DefaultNetwork Credentials;

      //通過一個名字為sclient的郵件服務(wù)器將郵件mm發(fā)出

      sclient.Send(mm);

      4 結(jié)束語

      本文主要研究基于.NET Framework類庫的簡單電子郵件發(fā)送功能實現(xiàn)。在Visual Studio .NET 2010環(huán)境下,以面向?qū)ο笄翌愋桶踩某绦蛟O(shè)計語言C#作為編程語言,設(shè)計了簡潔易操作的發(fā)送電子郵件功能界面,并詳細(xì)說明了關(guān)鍵代碼的運(yùn)用。在程序調(diào)試過程中,出現(xiàn)了錯誤“不允許使用郵箱名稱。服務(wù)器響應(yīng)為: authentication is required.”,可以通過改變驗證方式,將提供的驗證指定為用戶名和密碼方式,即可排除此錯誤。最終測試,本文設(shè)計的電子郵件系統(tǒng)能夠正常地發(fā)送郵件,且操作方便。

      猜你喜歡
      類庫收件人電子郵件
      快遞丟失如何索賠
      有關(guān)旅行計劃的電子郵件
      用Java編寫客戶機(jī)/服務(wù)器端應(yīng)用程序
      查無此人
      Python在數(shù)據(jù)可視化中的應(yīng)用
      數(shù)據(jù)結(jié)構(gòu)課程教學(xué)改革方案和應(yīng)用效果
      軟件工程(2017年12期)2018-01-29 17:35:55
      數(shù)據(jù)結(jié)構(gòu)可視化類庫的設(shè)計與實現(xiàn)
      送花
      三月三(2016年4期)2016-04-25 10:16:40
      民事訴訟電子郵件送達(dá)制度的司法適用
      固镇县| 中卫市| 双江| 揭阳市| 阳城县| 南郑县| 石棉县| 马关县| 瓮安县| 宣城市| 海口市| 隆德县| 沙坪坝区| 莎车县| 会昌县| 南昌县| 苍南县| 嵊泗县| 拜泉县| 平遥县| 东至县| 旺苍县| 荣成市| 新兴县| 扶沟县| 常宁市| 平阳县| 吉安市| 溆浦县| 拜泉县| 扬中市| 新建县| 岢岚县| 莒南县| 那坡县| 蕉岭县| 丰城市| 平塘县| 马龙县| 德清县| 麻栗坡县|