版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、北京傳智播客教育 www.itcast.cn,郵件原理與JavaMail開(kāi)發(fā),參考教材:Java郵件程序開(kāi)發(fā)詳解,方立勛,北京傳智播客教育 www.itcast.cn,Java郵件開(kāi)發(fā)介紹,為什么要學(xué)習(xí)javamail開(kāi)發(fā)現(xiàn)在很多WEB應(yīng)用在開(kāi)發(fā)時(shí)都需要集成郵件發(fā)送功能,例如: 給新注冊(cè)的用戶(hù)自動(dòng)發(fā)送一封包含其注冊(cè)信息的歡迎E-Mail。給過(guò)生日的注冊(cè)會(huì)員自動(dòng)發(fā)送一封表示祝賀的E-Mail 。將網(wǎng)站的最新活動(dòng)信息通過(guò)E-Ma
2、il發(fā)送給所有的注冊(cè)會(huì)員。等等 …...這些功能的實(shí)現(xiàn)都需要軟件開(kāi)發(fā)人員在開(kāi)發(fā)WEB應(yīng)用中編寫(xiě)相應(yīng)的郵件處理程序。課程目標(biāo),北京傳智播客教育 www.itcast.cn,課程目標(biāo),學(xué)習(xí)javamail主要包括兩部分:生成郵件和發(fā)送接收郵件。效果演示:可以編寫(xiě)程序代碼生成一封帶內(nèi)嵌圖片的郵件可以編寫(xiě)程序生成一封即帶附件又帶圖片的復(fù)雜郵件??梢跃帉?xiě)java郵件發(fā)送程序發(fā)送郵件實(shí)現(xiàn)類(lèi)似sina、sohu的web郵件發(fā)送程序郵
3、件開(kāi)發(fā)過(guò)程中的一些常見(jiàn)問(wèn)題中文名的郵件附件的亂碼問(wèn)題Tomcat中JavaMail支持與沖突問(wèn)題如何實(shí)現(xiàn)郵件群發(fā),北京傳智播客教育 www.itcast.cn,郵件開(kāi)發(fā)涉到的一些基本概念,郵件服務(wù)器和電子郵箱 郵件傳輸協(xié)議電子郵件的發(fā)送和接收過(guò)程,北京傳智播客教育 www.itcast.cn,郵件服務(wù)器和電子郵箱,郵件服務(wù)器:要在Internet上提供電子郵件功能,必須有專(zhuān)門(mén)的電子郵件服務(wù)器。例如現(xiàn)在Internet很多提供
4、郵件服務(wù)的廠(chǎng)商:sina、sohu、163等等他們都有自己的郵件服務(wù)器。這些服務(wù)器類(lèi)似于現(xiàn)實(shí)生活中的郵局,它主要負(fù)責(zé)接收用戶(hù)投遞過(guò)來(lái)的郵件,并把郵件投遞到郵件接收者的電子郵箱中。電子郵箱:電子郵箱(E-mail地址)的獲得需要在郵件服務(wù)器上進(jìn)行申請(qǐng) ,確切地說(shuō),電子郵箱其實(shí)就是用戶(hù)在郵件服務(wù)器上申請(qǐng)的一個(gè)帳戶(hù)。用戶(hù)在郵件服務(wù)器上申請(qǐng)了一個(gè)帳號(hào)后,郵件服務(wù)器就會(huì)為這個(gè)帳號(hào)分配一定的空間,用戶(hù)從而可以使用這個(gè)帳號(hào)以及空間,發(fā)送電子郵件
5、和保存別人發(fā)送過(guò)來(lái)的電子郵件。,北京傳智播客教育 www.itcast.cn,郵件傳輸協(xié)議和郵件服務(wù)器類(lèi)型,SMTP協(xié)議(畫(huà)圖演示)用戶(hù)連上郵件服務(wù)器后,要想給它發(fā)送一封電子郵件,需要遵循一定的通迅規(guī)則,SMTP協(xié)議就是用于定義這種通訊規(guī)則的。因而,通常我們也把處理用戶(hù)smtp請(qǐng)求(郵件發(fā)送請(qǐng)求)的郵件服務(wù)器稱(chēng)之為SMTP服務(wù)器。(25)POP3協(xié)議同樣,用戶(hù)若想從郵件服務(wù)器管理的電子郵箱中接收一封電子郵件的話(huà),他連上郵件服務(wù)器
6、后,也需要遵循一定的通迅格式,POP3協(xié)議用于定義這種通訊格式。因而,通常我們也把處理用戶(hù)pop3請(qǐng)求(郵件接收請(qǐng)求)的郵件服務(wù)器稱(chēng)之為POP3服務(wù)器。(110),北京傳智播客教育 www.itcast.cn,電子郵件的傳輸過(guò)程,下圖用于演示lisi@sina.com與wangwu@sohu.com帳戶(hù)相互發(fā)送郵件的過(guò)程。,北京傳智播客教育 www.itcast.cn,手工演示電子郵件的發(fā)送,準(zhǔn)備實(shí)驗(yàn)環(huán)境提前在sohu 和sina上
7、注冊(cè)一個(gè)免費(fèi)帳號(hào)獲取smtp和pop3服務(wù)器的名稱(chēng)Sina或 sohu會(huì)在其幫助中心里提示管理當(dāng)前注冊(cè)帳號(hào)的郵件服務(wù)器的主機(jī)名。編寫(xiě)base64編碼程序?qū)τ脩?hù)名和密碼進(jìn)行編碼。手工使用SMTP協(xié)議發(fā)送電子郵件編寫(xiě)Socket程序發(fā)送電子郵件如何配置outlook收發(fā)郵件郵件服務(wù)器的配置,北京傳智播客教育 www.itcast.cn,,SMTP協(xié)議 ehlo 主機(jī)名auth login //經(jīng)過(guò)base64編碼后的用戶(hù)名
8、和密碼mail from:rcpt to:Data .號(hào)代表郵件內(nèi)容的結(jié)束quit,SMTP協(xié)議,北京傳智播客教育 www.itcast.cn,,POP3協(xié)議userusername passpassword stat 返回郵箱的統(tǒng)計(jì)信息list[msg#]返回某一封郵件的統(tǒng)計(jì)信息retrmsg# 最重要的一個(gè)命令quit 使用POP3協(xié)議手工接收郵件,POP3協(xié)議,北京傳智播客教育 www.itcast.
9、cn,,RFC822文檔規(guī)定了如何編寫(xiě)一封簡(jiǎn)單郵件郵件頭和郵件體,兩者使用空行分隔郵件頭from字段to字段subject字段cc、bcc字段郵件體郵件內(nèi)容 利用RFC822文檔漏洞發(fā)送假冒郵件,創(chuàng)建郵件——RFC822文檔,北京傳智播客教育 www.itcast.cn,,MIME協(xié)議是對(duì)RFC822文檔的升級(jí)和補(bǔ)充,它描述了如何生成一封復(fù)雜郵件。通常我們把MIME協(xié)議描述的郵件稱(chēng)之為MIME郵件,MIME協(xié)議描述的數(shù)
10、據(jù)稱(chēng)之為MIME消息。對(duì)于一封復(fù)雜郵件,如果包含了多個(gè)不同的數(shù)據(jù),MIME協(xié)議規(guī)定了要使用分隔線(xiàn)對(duì)多段數(shù)據(jù)進(jìn)行分隔,并使用Content-Type頭字段對(duì)數(shù)據(jù)的類(lèi)型、以及多個(gè)數(shù)據(jù)之間的關(guān)系進(jìn)行描述。(查看outlook郵件源文件),創(chuàng)建郵件—— MIME協(xié)議,北京傳智播客教育 www.itcast.cn,,Content-type:字段數(shù)據(jù)類(lèi)型 以“主類(lèi)型/子類(lèi)型”的形式出現(xiàn),主類(lèi)型有text、image、audio、video
11、、application、message等,分別表示文本、圖片、音頻、視頻、應(yīng)用程序、組合結(jié)構(gòu)、消息等。每個(gè)主類(lèi)型下面都有多個(gè)子類(lèi)型,例如text主類(lèi)型包含plain、html、xml、css等子類(lèi)型。 數(shù)據(jù)的關(guān)系multipart/mixed、multipart/related、multipart/alternative,MIME協(xié)議常用頭字段,北京傳智播客教育 www.itcast.cn,,Content-Disposition
12、頭字段Content-Disposition頭字段用于指定郵件閱讀程序處理數(shù)據(jù)內(nèi)容的方式,有inline和attachment兩種標(biāo)準(zhǔn)方式,inline表示直接處理,而attachment表示當(dāng)作附件處理。如果將Content-Disposition設(shè)置為attachment,在其后還可以指定filename屬性,如下所示:Content-Disposition: attachment; filename=“1.bmp”上面的M
13、IME頭字段表示MIME消息體的內(nèi)容為郵件附件,附件名“1.bmp”Content-ID頭字段Content-ID頭字段用于為“multipart/related”組合消息中的內(nèi)嵌資源指定一個(gè)唯一標(biāo)識(shí)號(hào),在HTML格式的正文中可以使用這個(gè)唯一標(biāo)識(shí)號(hào)來(lái)引用該內(nèi)嵌資源。例如,假設(shè)將一個(gè)表示內(nèi)嵌圖片的MIME消息的Content-ID頭字段設(shè)置為如下形式:Content-ID: it315logo_gif那么,在HTML正文中就需要
14、使用如下HTML語(yǔ)句來(lái)引用該圖片資源: 注意,在引用Content-ID頭字段標(biāo)識(shí)的內(nèi)嵌資源時(shí),要在資源的唯一標(biāo)識(shí)號(hào)前面加上“cid:”,以說(shuō)明要采用唯一標(biāo)識(shí)號(hào)對(duì)資源進(jìn)行引用。,MIME協(xié)議常用頭字段,北京傳智播客教育 www.itcast.cn,,查看API類(lèi)圖創(chuàng)建簡(jiǎn)單郵件創(chuàng)建包含內(nèi)嵌圖片的郵件創(chuàng)建包含附件的郵件包含內(nèi)嵌圖片和附件的復(fù)雜郵件中文名的郵件附件的亂碼問(wèn)題,使用JavaMail API創(chuàng)建郵件,北京傳智播客教
15、育 www.itcast.cn,郵件組織結(jié)構(gòu)相關(guān)的API,MimeMessage類(lèi)表示整封郵件。MimeBodyPart類(lèi)表示郵件的一個(gè)MIME消息。MimeMultipart類(lèi)表示一個(gè)由多個(gè)MIME消息組合成的組合MIME消息。,北京傳智播客教育 www.itcast.cn,,使用JavaMail API收發(fā)郵件,JavaMail API按其功能劃分通常可分為如下三大類(lèi):創(chuàng)建和解析郵件內(nèi)容的API :Message類(lèi)是創(chuàng)建和解析
16、郵件的核心API,它的實(shí)例對(duì)象代表一封電子郵件。 發(fā)送郵件的API:Transport類(lèi)是發(fā)送郵件的核心API類(lèi),它的實(shí)例對(duì)象代表實(shí)現(xiàn)了某個(gè)郵件發(fā)送協(xié)議的郵件發(fā)送對(duì)象,例如SMTP協(xié)議。 接收郵件的API:Store類(lèi)是接收郵件的核心API類(lèi),它的實(shí)例對(duì)象代表實(shí)現(xiàn)了某個(gè)郵件接收協(xié)議的郵件接收對(duì)象,例如POP3協(xié)議。 Session類(lèi) Session類(lèi)用于定義整個(gè)應(yīng)用程序所需的環(huán)境信息,以及收集客戶(hù)端與郵件服務(wù)器建立網(wǎng)絡(luò)連接的會(huì)話(huà)
17、信息,如郵件服務(wù)器的主機(jī)名、端口號(hào)、采用的郵件發(fā)送和接收協(xié)議等。Session對(duì)象根據(jù)這些信息構(gòu)建用于郵件收發(fā)的Transport和Store對(duì)象,以及為客戶(hù)端創(chuàng)建Message對(duì)象時(shí)提供信息支持。,北京傳智播客教育 www.itcast.cn,郵件發(fā)送程序,使用JavaMail發(fā)送一封簡(jiǎn)單的郵件:創(chuàng)建包含郵件服務(wù)器的網(wǎng)絡(luò)連接信息的Session對(duì)象。 創(chuàng)建代表郵件內(nèi)容的Message對(duì)象。 創(chuàng)建Transport對(duì)象、連接服務(wù)器
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫(kù)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 如何用javamail發(fā)送郵件
- javamail的使用之郵件發(fā)送
- 基于javamail的電子郵件收發(fā)系統(tǒng)
- 基于javamail電子郵件系統(tǒng)設(shè)計(jì)
- 基于javamail的郵件收發(fā)系統(tǒng)答辯稿
- 畢業(yè)論文范文——基于javamail的郵件收發(fā)系統(tǒng)
- 郵件收發(fā)程序的設(shè)計(jì)與開(kāi)發(fā)——畢業(yè)論文
- 基于bcb開(kāi)發(fā)具有身份認(rèn)證功能的郵件發(fā)送程序
- javamail應(yīng)用一(基礎(chǔ))
- 基于javamail的郵件收發(fā)系統(tǒng)(系統(tǒng)+論文+開(kāi)題報(bào)告+任務(wù)書(shū)+外文翻譯+文獻(xiàn)綜述+答辯ppt)
- 如何設(shè)置iphoneipod touchipad郵件應(yīng)用程序?
- 壓縮打包文件與發(fā)送郵件圖片信息詳解
- 郵件地址提取程序課程設(shè)計(jì)報(bào)告
- arduino燒錄引導(dǎo)程序詳解
- 郵件服務(wù)器研究與開(kāi)發(fā).pdf
- JavaMail規(guī)范的研究和實(shí)現(xiàn).pdf
- 松下plc如何下載程序詳解
- vc++收發(fā)電子郵件的開(kāi)發(fā)
- 安全電子郵件的研究與開(kāi)發(fā).pdf
- 軟件需求開(kāi)發(fā)程序
評(píng)論
0/150
提交評(píng)論