孫琴琴,鐘 琪
(內江師范學院 計算機科學學院,四川 內江 641000)
信息化時代來臨,互聯(lián)網技術已廣泛應用于人們的日常生活中,電子郵件也成為其中必不可少的溝通工具,使得用戶能夠以非常低廉的價格、快捷的方式、簡便的方法與世界上任何一個角落的其他網絡用戶聯(lián)系,并且相比于傳統(tǒng)的郵件,電子郵件的功能更加強大,應用的領域更加廣泛,傳遞的內容更加多樣化??傊娮余]件的存在極大地方便了人與人之間的溝通與交流,促進了社會的進步與發(fā)展。
電子郵件的發(fā)送和接收原理可以形象地用日常生活中郵寄包裹的例子來解釋。當我們郵寄包裹時,首先要找到一個能夠郵寄包裹的郵局,在這家郵局里填好相應的信息之后,包裹就寄到了收件人所在的郵局,當收件人取包裹的時候就必須去相應郵局才能取出。同樣的,當發(fā)送電子郵件時,郵件由發(fā)件人所在的郵件發(fā)送服務器發(fā)出,并且根據收件人的地址判斷相應的郵件接收服務器的地址,將郵件發(fā)送到該服務器上,收件人讀取郵件就可以通過訪問相應的服務器完成。
(1)假設發(fā)件人是sina的郵箱用戶zhangsan@sina.com要將一封email發(fā)送給sohu的郵箱用戶lisi@sohu.com。
(2)發(fā)件人首先將寫好的email發(fā)送給sina的簡單郵件傳輸協(xié)議(Simple Mail Transfer Protocol,SMTP)服務器,該服務器收到用戶要發(fā)送郵件請求時,會根據收件人的地址判斷當前收件人是否是自己管轄的用戶,如果是,就直接將email存放到為該收件人的分配的郵箱空間當中,如果不是,該SMTP服務器會根據收件人的地址,將這一封email發(fā)送給收件人所對應的SMTP郵件服務器。
(3)當收件人的SMTP服務器開始處理其他的SMTP服務器發(fā)送過來的email時,會根據收件人的地址判斷收件人是否是自己管轄的用戶,如果是,就直接將email存放到為收件人分配的郵箱空間當中,如果不是,該SMTP服務器可能會將email繼續(xù)轉發(fā)或者直接丟棄。
(4)用戶lisi@sohu.com通過郵件客戶端程序與sohu的IMAP/POP3服務器建立連接后,可以在登錄郵件客戶端程序后,通過POP3或IMAP協(xié)議查看郵箱中是否有新的郵件,如果有,可以通過相應的協(xié)議讀取該郵件[1]。
SMTP是一種TCP協(xié)議支持的提供可靠且有效的電子郵件傳輸的應用層協(xié)議,SMTP是建立在TCP上的一種郵件服務,主要用于傳輸系統(tǒng)之間的郵件信息并且提供來信有關的通知。SMTP協(xié)議定義了通信雙方采用的對話的規(guī)則和所有命令/響應形式的語法規(guī)則,也定義了郵件客戶端軟件與SMTP服務器之間的通信規(guī)則。
郵局協(xié)議(Post Office Protocol,POP3),郵件服務提供商專門為每個用戶申請的電子郵箱提供了專門的郵件存儲空間,用戶要從郵件服務提供商提供的電子郵箱中獲取自己的電子郵件,需要通過郵件系統(tǒng)服務提供商的POP3郵件服務器來幫助完成,該協(xié)議定義了郵件客戶端程序與POP3服務器進行通信的具體規(guī)則和細節(jié)。
消息訪問協(xié)議(Internet Message Access Protocol,IMAP)是對POP3協(xié)議的一種擴展,定義了郵件客戶端軟件與郵件服務器之間的通信規(guī)則。IMAP4改進了POP3的不足,用戶可以通過瀏覽信件頭來決定是否收取、刪除和檢索郵件的特定部分,還可以在服務器上創(chuàng)建或更改文件夾或郵箱,它為用戶提供了有選擇的從郵件服務器接收郵件的功能、基于服務器的信息處理功能和共享信箱功能[2]。
3.1.1 用戶注冊登錄功能
用戶注冊時,必填信息包括用戶名、密碼和郵件配置,只有這些必填信息添加完整時,“注冊”按鈕才被激活。在整個注冊過程中,對于用戶的每一次操作,系統(tǒng)都將給出友好的提示來幫助用戶完成注冊。用戶登錄時,必填信息包括用戶名、密碼和驗證碼。填寫正確即可登錄,錯誤則給出相關錯誤提示信息。
3.1.2 發(fā)送郵件功能
當用戶登錄成功后,進入電子郵件系統(tǒng)界面,選擇編寫郵件,并且填好相應的信息,比如收件人、主題、附件、內容等,點擊發(fā)送按鈕后,郵件就會發(fā)送到指定的收件人的郵箱。
3.1.3 接收郵件功能
當用戶登錄成功后,進入電子郵件系統(tǒng)界面,選擇收件箱,便可查看郵箱中的信息,查看最近是否有接收到的郵件,如果有,便可打開接收到的郵件進行讀取,并且用戶也可根據郵件的重要性選擇是否回復郵件。
3.1.4 個人信息修改功能
當用戶登錄成功后,進入電子郵件系統(tǒng)界面,選擇個人信息,就可查看當前用戶的個人信息,選擇編輯,便可對當前個人信息進行增、刪、查、改等操作。
由于電子郵件系統(tǒng)的實現(xiàn)主要包括電子郵件的發(fā)送和接收功能,因此,本文主要介紹電子系統(tǒng)的發(fā)送和接收電子郵件的原理,以及相應設計和實現(xiàn)的方法,其他的功能將不多加以贅述。
3.2.1 發(fā)送電子郵件
(1)發(fā)送電子郵件的實現(xiàn)。
①對連接服務器的會話信息,并從Session對象中獲取某種郵件發(fā)送協(xié)議的Transport對象。
②編寫郵件消息,利用Session對象創(chuàng)建Message對象,并調用Message對象封裝郵件數據,比如消息的發(fā)送者、主題、發(fā)送日期等。
③發(fā)送郵件消息,連接指定的SMTP服務器,調用Transport對象中的郵件發(fā)送方法發(fā)送Message對象封裝郵件中的數據[3]。
(2)關鍵代碼。
3.2.2 接收電子郵件
(1)接收電子郵件的實現(xiàn)。
①連接服務器的會話信息,從Session對象中獲得實現(xiàn)了某種郵件發(fā)送協(xié)議的Store對象。
②以某個郵箱賬戶的身份連接上POP3或IMP4服務器。
③調用Store的getFolder方法,獲取代表改賬戶的郵箱中的某個郵件夾的Folder對象。
(2)關鍵代碼。
本文主要基于Java語言的電子郵件系統(tǒng)的接受功能和發(fā)送功能展開研究,以Java作為核心技術,將電子郵件系統(tǒng)分為五大功能,在深刻理解電子郵件工作原理的基礎上,對發(fā)送電子和接收電子郵件進行了詳細的設計與代碼編寫。并且通過運行結果可知,本文設計的電子郵件系統(tǒng)能夠正常地發(fā)送和接收郵件,并且系統(tǒng)運行穩(wěn)定,界面友好,操作方便。