it教程網(wǎng)-播客java就業(yè)班2013帶源碼和課件共29.7g完畢共享-v1.0javamail_第1頁
it教程網(wǎng)-播客java就業(yè)班2013帶源碼和課件共29.7g完畢共享-v1.0javamail_第2頁
it教程網(wǎng)-播客java就業(yè)班2013帶源碼和課件共29.7g完畢共享-v1.0javamail_第3頁
it教程網(wǎng)-播客java就業(yè)班2013帶源碼和課件共29.7g完畢共享-v1.0javamail_第4頁
it教程網(wǎng)-播客java就業(yè)班2013帶源碼和課件共29.7g完畢共享-v1.0javamail_第5頁
已閱讀5頁,還剩23頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

1、北京傳智播客教育 Java郵件開發(fā)王昭珽北京傳智播客教育 為什么要學習郵件開發(fā)許多辦公自動化項目(OA)中都要附帶發(fā)送郵件的功能.在許多網(wǎng)站項目中也都需要附帶發(fā)送郵件的功能,即要求軟件開發(fā)人員在WEB應用中編寫相應的郵件處理程序。 給新注冊的用戶自動發(fā)送一封包含其注冊信息的歡迎E-Mail 給過生日的注冊會員自動發(fā)送一封表示祝賀的E-Mail 將網(wǎng)站的最新活動信息通過E-Mail發(fā)送給所有的注冊會員 北京傳智播客教育 如何學習郵件開發(fā)學習郵件開發(fā)包括兩大方面:發(fā)送與接收郵件創(chuàng)建與解析郵件內(nèi)容北京傳智播客教育 電子郵件的一些基本常識郵件服務器 電子郵箱 郵件客戶端軟件 郵件傳輸協(xié)議電子郵件的傳輸

2、過程 北京傳智播客教育 郵件服務器 電子郵件服務器主要提供以下功能:(1)接收用戶投遞的郵件;(2)將用戶投遞進來的郵件轉發(fā)給目標郵件服務器;(3)接收其他郵件服務器轉發(fā)來的郵件并把郵件存儲到其管理的用戶郵箱中;(4)為前來讀取郵件的用戶提供讀取服務。郵件服務器按通訊協(xié)議可以劃分為兩種類型:SMTP服務器 (發(fā)送郵件)POP3/IMAP服務器 (接收)北京傳智播客教育 郵件服務器北京傳智播客教育 郵件服務器北京傳智播客教育 郵件服務器北京傳智播客教育 電子郵箱與郵件客戶端軟件 電子郵箱:每個電子郵件服務器之上都可以開設多個電子郵箱,電子郵箱也稱之為E-mail地址,它類似現(xiàn)實生活中的通訊地址,

3、用戶可通過這個地址接收別人發(fā)來的電子郵件和向別人發(fā)送電子郵件。電子郵箱的獲得需要在郵件服務器上進行申請 ,確切地說,電子郵箱其實就是用戶在郵件服務器上申請的一個帳戶。郵件服務器把接收到的郵件保存到為某個帳戶所分配的郵箱空間中,用戶通過其申請的用戶名和密碼登陸到郵件服務器上查收該地址已收到的電子郵件。郵件客戶端軟件:郵件客戶端軟件負責與郵件服務器通訊,主要用于幫助用戶將郵件發(fā)送給SMTP服務器和從POP3/IMAP郵件服務器讀取用戶的電子郵件。郵件客戶端軟件通常集郵件撰寫、發(fā)送和接收功能于一體。北京傳智播客教育 電子郵件的傳輸過程 北京傳智播客教育 Sina郵件服務器 Sohu郵件服務器 Sin

4、asohu客戶端smtpsmtppop3北京傳智播客教育 Test郵件服務器 Test_itcast郵件服務器 客戶端smtpsmtppop3outLook客戶端軟件北京傳智播客教育 郵件傳輸協(xié)議SMTP協(xié)議全稱為Simple Mail Transfer Protocol(簡單郵件傳輸協(xié)議),它定義了郵件客戶端軟件與SMTP服務器之間、以及兩臺SMTP服務器之間的通訊規(guī)則。POP3協(xié)議全稱為Post Office Protocol(郵局協(xié)議),它定義了郵件客戶端軟件與POP3服務器的通訊規(guī)則。IMAP協(xié)議全稱為Internet Message Access Protocal(Internet消

5、息訪問協(xié)議),它是對POP3協(xié)議的一種擴展,定義了郵件客戶端軟件與IMAP服務器的通訊規(guī)則。北京傳智播客教育 SMTP協(xié)議的命令SMTP命令及格式說 明Ehloehlo命令是SMTP郵件發(fā)送程序與SMTP郵件接收程序建立連接后必須發(fā)送的第一條SMTP命令,參數(shù)表示SMTP郵件發(fā)送者的主機名。ehlo命令用于替代傳統(tǒng)SMTP協(xié)議中的helo命令。Auth如果SMTP郵件接收程序需要SMTP郵件發(fā)送程序進行認證時,它會向SMTP郵件發(fā)送程序提示它所采用的認證方式,SMTP郵件發(fā)送程序接著應該使用這個命令回應SMTP郵件接收程序,參數(shù)表示回應的認證方式,通常是SMTP郵件接收程序先前提示的認證方式。

6、MailFrom:此命令用于指定郵件發(fā)送者的郵箱地址,參數(shù)表示發(fā)件人的郵箱地址。RcptTo:此命令用于指定郵件接收者的郵箱地址,參數(shù)表示接收者的郵箱地址。如果郵件要發(fā)送給多個接收者,那么應使用多條RcptTo命令來分別指定每一個接收者的郵箱地址。Data此命令用于表示SMTP郵件發(fā)送程序準備開始傳送郵件內(nèi)容,在這個命令后面發(fā)送的所有數(shù)據(jù)都將被當作郵件內(nèi)容,直至遇到“”標識符,則表示郵件內(nèi)容結束。Quit此命令表示要結束郵件發(fā)送過程,SMTP郵件接收程序接收到此命令后,將關閉與SMTP郵件發(fā)送程序的網(wǎng)絡連接。北京傳智播客教育 POP3協(xié)議的命令命令及其使用格式說 明userusernameus

7、er命令是POP3客戶端程序與POP3郵件服務器建立連接后通常發(fā)送的第一條命令,參數(shù)username表示收件人的帳戶名稱。passpasswordpass命令是在user命令成功通過后,POP3客戶端程序接著發(fā)送的命令,它用于傳遞帳戶的密碼,參數(shù)password表示帳戶的密碼。apopname,digestapop命令用于替代user和pass命令,它以MD5數(shù)字摘要的形式向POP3郵件服務器提交帳戶密碼。statstat命令用于查詢郵箱中的統(tǒng)計信息,例如,郵箱中有郵件數(shù)和郵件占用的字節(jié)大小等。uidlmsg#uidl命令用于查詢某封郵件的唯一標識符,參數(shù)msg#表示郵件的序號,是一個從1開始

8、編號的數(shù)字。listmsg#list命令用于列出郵箱中的郵件信息,參數(shù)msg#是一個可選參數(shù),表示郵件的序號。當不指定參數(shù)時,POP3服務器列出郵箱中所有的郵件信息;當指定參數(shù)msg#時,POP3服務器只返回該序號對應的郵件的信息。retrmsg#list命令用于獲取某封郵件的內(nèi)容,參數(shù)msg#表示郵件的序號。delemsg#dele命令用于在某封郵件上設置刪除標記,參數(shù)msg#表示郵件的序號。POP3服務器執(zhí)行dele命令時,只是為郵件設置了刪除標記,并沒有真正把郵件刪除掉,只有POP3客戶端程序發(fā)出quit命令后,POP3服務器才會真正刪除所有設置了刪除標記的郵件。rsetrset命令用于

9、清除所有郵件的刪除標記。topmsg#ntop命令用于獲取某封郵件的郵件頭和郵件體中的前n行內(nèi)容,參數(shù)msg#表示郵件的序號,參數(shù)n表示要返回郵件的前幾行內(nèi)容。使用這條命令以提高Web Mail系統(tǒng)(通過Web站點上收發(fā)郵件)中的郵件列表顯示的處理效率,因為這種情況下不需要獲取每封郵件的完整內(nèi)容,而是僅僅需要獲取每封郵件的郵件頭信息。noopnoop命令用于檢測POP3客戶端與POP3服務器的連接情況。quitquit命令表示要結束郵件接收過程,POP3服務器接收到此命令后,將刪除所有設置了刪除標記的郵件,并關閉與POP3客戶端程序的網(wǎng)絡連接。北京傳智播客教育 通過命令發(fā)送郵件北京傳智播客教育

10、 什么是Java Mail要自己寫程序發(fā)送和接收郵件,可以直接采用Socket編程連接上遠程的郵件服務器,然后按照郵件協(xié)議與郵件服務器進行交互,涉及較多細節(jié)。另外,要想自己編程創(chuàng)建出復雜的MIME格式的郵件,是一件非常困難和麻煩的事情。JavaMail 是Sun公司為方便Java開發(fā)人員在應用程序中實現(xiàn)郵件發(fā)送和接收功能而提供的一套標準開發(fā)包,它支持一些常用的郵件協(xié)議,如SMTP、POP3、IMAP。 開發(fā)人員使用JavaMail API編寫郵件處理軟件時,無須考慮郵件協(xié)議的底層實施細節(jié),只要調(diào)用JavaMail開發(fā)包中相應的API類就可以了。 JavaMail 也提供了能夠創(chuàng)建出各種復雜MI

11、ME格式的郵件內(nèi)容的相關API。北京傳智播客教育 JavaMail 的體系結構與API分類JavaMail API按其功能劃分通??煞譃槿缦氯箢悾簞?chuàng)建和解析郵件內(nèi)容的API :Message類是創(chuàng)建和解析郵件的核心API,它的實例對象代表一封電子郵件。 發(fā)送郵件的API:Transport類是發(fā)送郵件的核心API類,它的實例對象代表實現(xiàn)了某個郵件發(fā)送協(xié)議的郵件發(fā)送對象,例如SMTP協(xié)議。 接收郵件的API:Store類是接收郵件的核心API類,它的實例對象代表實現(xiàn)了某個郵件接收協(xié)議的郵件接收對象,例如POP3協(xié)議。Session類 Session類用于定義整個應用程序所需的環(huán)境信息,以及收集

12、客戶端與郵件服務器建立網(wǎng)絡連接的會話信息,如郵件服務器的主機名、端口號、采用的郵件發(fā)送和接收協(xié)議等。Session對象根據(jù)這些信息構建用于郵件收發(fā)的Transport和Store對象,以及為客戶端創(chuàng)建Message對象時提供信息支持。 北京傳智播客教育 郵件發(fā)送程序使用JavaMail發(fā)送一封簡單的郵件:創(chuàng)建包含郵件服務器的網(wǎng)絡連接信息的Session對象。 創(chuàng)建代表郵件內(nèi)容的Message對象。 創(chuàng)建Transport對象、連接服務器、發(fā)送Message、關閉連接。 北京傳智播客教育 復雜郵件內(nèi)容的組織結構RFC822郵件格式:MIME協(xié)議-MIME,英文全稱為“Multipurpose I

13、nternet Mail Extensions”,即多用途互聯(lián)網(wǎng)郵件擴展,是目前互聯(lián)網(wǎng)電子郵件普遍遵循的郵件技術規(guī)范,在MIME出現(xiàn)之前,互聯(lián)網(wǎng)電子郵件主要遵循由RFC 822所制定的標準,電子郵件一般只用來傳遞基本的ASCII碼文本信息,MIME在 RFC 822的基礎上對電子郵件規(guī)范做了大量的擴展,引入了新的格式規(guī)范和編碼方式,在MIME的支持下,圖像、聲音、動畫等二進制文件都可方便的通過電子郵件來進行傳遞,極大地豐富了電子郵件的功能。目前互聯(lián)網(wǎng)上使用的基本都是遵循MIME規(guī)范的電子郵件。 北京傳智播客教育 MIME中的組合關系北京傳智播客教育 multipart類型基本格式 * mult

14、ipart/mixed類型 如果一封郵件中含有附件,那郵件的Content-Type域中必須定義multipart/mixed類型,郵件通過multipart/mixed類型中定義的boundary標識將附件內(nèi)容同郵件其它內(nèi)容分成不同的段。基本格式如下: Content-Type: multipart/mixed; boundary=分段標識 * multipart/alternative類型 MIME郵件可以傳送超文本內(nèi)容,但出于兼容性的考慮,一般在發(fā)送超文本格式內(nèi)容的同時會同時發(fā)送一個純文本內(nèi)容的副本,如果郵件中同時存在純文本和超文本內(nèi)容,則郵件需要在Content-Type域中定義mul

15、tipart/alternative類型,郵件通過其boundary中的分段標識將純文本、超文本和郵件的其它內(nèi)容分成不同的段?;靖袷饺缦拢?Content-Type: multipart/alternative; boundary=分段標識北京傳智播客教育 multipart類型基本格式* multipart/related類型 MIME郵件中除了可以攜帶各種附件外,還可以將其它內(nèi)容以內(nèi)嵌資源的方式存儲在郵件中。比如我們在發(fā)送html格式的郵件內(nèi)容時,可能使用圖像作為html的背景,html文本會被存儲在alternative段中,而作為背景的圖像則會存儲在multipart/related

16、類型定義的段中。基本格式如下: Content-Type: multipart/related; type=multipart/alternative; boundary=分段標識北京傳智播客教育 郵件組織結構相關的APIMimeMessage類表示整封郵件。MimeBodyPart類表示郵件的一個MIME消息。MimeMultipart類表示一個由多個MIME消息組合成的組合MIME消息。北京傳智播客教育 郵件結構MiMEMessage(整封郵件)MIME消息頭正文(alternative )內(nèi)嵌資源(related )附件(mixed )MimeBodyPart設置郵件主題等多個MimeBodyPart 組合成MimeMultipartMimeMessage類表示整封郵件。MimeBodyPart類表示郵件的一個MIME消息。MimeMultipart類表示一個由多個MIME消息組合成的組合MIME消息。北京傳智播客教育 JAF簡介 JAF(JavaBeans Activation Framework,JavaBeans激活框架)是一個專用的數(shù)據(jù)處理框架,它用于封裝數(shù)據(jù),并為應用程序提供訪問和操作數(shù)據(jù)的接口。 JAF的主要作用在于讓Java應用程序知道如何對一個數(shù)據(jù)源進行查看、編輯和打印等操

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論