李春娥 張魁星
摘要:電子郵件是互聯(lián)網(wǎng)中交換信息廣泛的通信工具之一。文章通過利用POP3協(xié)議和SMTP協(xié)議,前期對系統(tǒng)的需求進行分析,通過相關(guān)的協(xié)議設(shè)計實現(xiàn)電子郵件收發(fā)系統(tǒng)。系統(tǒng)的功能主要包括以下幾個方面:郵件的發(fā)送模塊、用戶注冊模塊與收取模塊以及地址簿管理模塊。核心是郵件的發(fā)送與收取模塊,郵件發(fā)送模塊支持郵件的單個發(fā)送和群發(fā);地址薄管理塊可以使用戶更加方便地管理自己的聯(lián)系人,對聯(lián)系人進行修改、添加、刪除等。
關(guān)鍵詞:POP3;SMTP;電子郵件
中圖分類號:TP393 文獻標識碼:A 文章編號:1009-3044(2013)07-1507-02
隨著互聯(lián)網(wǎng)技術(shù)的迅猛發(fā)展,網(wǎng)絡(luò)給人們帶來了很多便利,電子郵件是使用最廣泛的網(wǎng)絡(luò)功能之一,是計算機技術(shù)和通信技術(shù)結(jié)合的產(chǎn)物,屬于異步通信方式。文章在RFC底層協(xié)議的基礎(chǔ)上,通過SMTP協(xié)議和POP3協(xié)議開發(fā)了功能全面、方便實用的郵件客戶端程序。
1 電子郵件相關(guān)協(xié)議
開發(fā)郵件客戶端程序用到RFC822郵件格式、SMTP協(xié)議和POP3協(xié)議。RFC822定義了SMTP 、POP3以及其他電子郵件的傳輸協(xié)議所傳輸和提交的內(nèi)容;POP3是因特網(wǎng)上傳輸郵件的第一個協(xié)議,也是一個離線協(xié)議;SMTP是Internet上傳送電子郵件的一個標準協(xié)議,主要作用就是傳送和提交電子郵件,它規(guī)定了主機之間相互傳送電子郵件所使用的標準交換格式。
2 系統(tǒng)總體設(shè)計流程
接收郵件和發(fā)送電子郵件是客戶端的核心功能,其他的功能也是不可以缺少的,例如地址薄管理。郵件的發(fā)送需求要求可以實現(xiàn)郵件的正常發(fā)送,這樣不僅可以實現(xiàn)單個郵件的發(fā)送,還可以群發(fā)郵件,同時也要求可以以附件的形式發(fā)送。郵件的接收需求要求可以實現(xiàn)電子郵件的完好接收,這樣既可以實現(xiàn)郵件文本的接收也能實現(xiàn)附件的接收,此外,具有提示郵件的接收日期以及發(fā)件人。附加功能需求附件功能主要是地址薄管理功能,用戶可以很便捷的對聯(lián)系人進行系統(tǒng)的管理。根據(jù)系統(tǒng)的需求,系統(tǒng)的功能模塊主要有收郵件模塊、寫郵件模塊、地址薄管理模塊以及賬號管理模塊。
3 系統(tǒng)實現(xiàn)
以發(fā)送郵件模塊為例。在郵件發(fā)送程序SendMail中,重載的構(gòu)造函數(shù) SmtpMail()用于在初始化過程中,把用戶選擇的附件的路徑以參數(shù)的形式傳給FilePath。得到上傳的附件的文件流GetStream,由于在網(wǎng)絡(luò)中的操作都是以網(wǎng)絡(luò)流的形式來實現(xiàn)的,因此先把上傳的附件轉(zhuǎn)換成文件流的形式,然后再利用Write的方法將這些文件流寫入網(wǎng)絡(luò),從而完成發(fā)送附件的步驟。發(fā)送SMTP命令的函數(shù)SendCommand的作用是把SMTP命令的字符串轉(zhuǎn)換成對應的字節(jié)型值(C#中規(guī)定的Write方法只能寫入字節(jié)型的數(shù)據(jù))然后寫入網(wǎng)絡(luò)中,如果操作成功就返回一個標志為真的布爾型變量,如果操作失敗或者發(fā)生異常就返回標志為假的布爾型變量。
4 系統(tǒng)功能測試
發(fā)送郵件測試是對發(fā)送文本以及附件的測試,發(fā)送文本郵件給收信人,測試中用新浪的郵箱分別往新浪的郵箱以及163的郵箱發(fā)送文本郵件,均可以發(fā)送成功,同時具有群發(fā)功能;接收郵件測試是對單個郵件收取測試,在選取相應的郵件賬號后,可以對單個郵件進行收取,也可以對新設(shè)置的郵件賬號進行郵件的收?。坏刂繁」芾頊y試是對地址薄管理的測試,包括增加、刪除、修改聯(lián)系人等。經(jīng)過對系統(tǒng)的測試,本系統(tǒng)能對郵件進行發(fā)送,能對郵件進行收取以及對地址薄進行管理。
參考文獻:
[1] 王征,李家興.SQL Server 2005實用教程[M].北京:清華大學出版,2006:170-190
[2] 鄭阿奇,梁敬東.C#程序設(shè)計教程[M].北京:機械工業(yè)出版,2009:101-201.