亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? javamail api詳解.txt

?? this program is to show how to send mail by java ,it s very easy.
?? TXT
?? 第 1 頁 / 共 3 頁
字號:
JavaMail API詳解
關(guān)鍵詞: javamail                                           
一、JavaMail API簡介
JavaMail API是讀取、撰寫、發(fā)送電子信息的可選包。我們可用它來建立如Eudora、Foxmail、MS Outlook Express一般的郵件用戶代理程序(Mail User Agent,簡稱MUA)。而不是像sendmail或者其它的郵件傳輸代理(Mail Transfer Agent,簡稱MTA)程序那樣可以傳送、遞送、轉(zhuǎn)發(fā)郵件。從另外一個角度來看,我們這些電子郵件用戶日常用MUA程序來讀寫郵件,而MUA依賴著MTA處理郵件的遞送。
在清楚了到MUA與MTA之間的關(guān)系后,讓我們看看JavaMail API是如何提供信息訪問功能的吧!JavaMail API被設(shè)計用于以不依賴協(xié)議的方式去發(fā)送和接收電子信息,這個API被分為兩大部分:

基本功能:如何以不依賴于協(xié)議的方式發(fā)送接收電子信息,這也是本文所要描述的,不過在下文中,大家將看到這只是一廂情愿而已。
第二個部分則是依賴特定協(xié)議的,比如SMTP、POP、IMAP、NNTP協(xié)議。在這部分的JavaMail API是為了和服務(wù)器通訊,并不在本文的內(nèi)容中。

二、相關(guān)協(xié)議一覽
在我們步入JavaMail API之前,先看一下API所涉及的協(xié)議。以下便是大家日常所知、所樂于使用的4大信息傳輸協(xié)議:
SMTP
POP
IMAP
MIME
當(dāng)然,上面的4個協(xié)議,并不是全部,還有NNTP和其它一些協(xié)議可用于傳輸信息,但是由于不常用到,所以本文便不提及了。理解這4個基本的協(xié)議有助于我們更好的使用JavaMail API。然而JavaMail API是被設(shè)計為與協(xié)議無關(guān)的,目前我們并不能克服這些協(xié)議的束縛。確切的說,如果我們使用的功能并不被我們選擇的協(xié)議支持,那么JavaMail API并不可能如魔術(shù)師一樣神奇的賦予我們這種能力。

1.SMTP
簡單郵件傳輸協(xié)議定義了遞送郵件的機制。在下文中,我們將使用基于Java-Mail的程序與公司或者ISP的SMTP服務(wù)器進行通訊。這個SMTP服務(wù)器將郵件轉(zhuǎn)發(fā)到接收者的SMTP服務(wù)器,直至最后被接收者通過POP或者IMAP協(xié)議獲取。這并不需要SMTP服務(wù)器使用支持授權(quán)的郵件轉(zhuǎn)發(fā),但是卻的確要注意SMTP服務(wù)器的正確設(shè)置(SMTP服務(wù)器的設(shè)置與JavaMail API無關(guān))。

2.POP
POP是一種郵局協(xié)議,目前為第3個版本,即眾所周知的POP3。POP定義了一種用戶如何獲得郵件的機制。它規(guī)定了每個用戶使用一個單獨的郵箱。大多數(shù)人在使用POP時所熟悉的功能并非都被支持,例如查看郵箱中的新郵件數(shù)量。而這個功能是微軟的Outlook內(nèi)建的,那么就說明微軟Outlook之類的郵件客戶端軟件是通過查詢最近收到的郵件來計算新郵件的數(shù)量來實現(xiàn)前面所說的功能。因此在我們使用JavaMail API時需要注意,當(dāng)需要獲得如前面所講的新郵件數(shù)量之類的信息時,我們不得不自己進行計算。

3.IMAP
IMAP使用在接收信息的高級協(xié)議,目前版本為第4版,所以也被稱為IMAP4。需要注意的是在使用IMAP時,郵件服務(wù)器必須支持該協(xié)議。從這個方面講,我們并不能完全使用IMAP來替代POP,不能期待IMAP在任何地方都被支持。假如郵件服務(wù)器支持IMAP,那么我們的郵件程序?qū)⒛軌蚓哂幸韵卤籌MAP所支持的特性:每個用戶在服務(wù)器上可具有多個目錄,這些目錄能在多個用戶之間共享。
其與POP相比高級之處顯而易見,但是在嘗試采取IMAP時,我們認識到它并不是十分完美的:由于IMAP需要從其它服務(wù)器上接收新信息,將這些信息遞送給用戶,維護每個用戶的多個目錄,這都為郵件服務(wù)器帶來了高負載。并且IMAP與POP的一個不同之處是POP用戶在接收郵件時將從郵件服務(wù)器上下載郵件,而IMAP允許用戶直接訪問郵件目錄,所以在郵件服務(wù)器進行備份作業(yè)時,由于每個長期使用此郵件系統(tǒng)的用戶所用的郵件目錄會占有很大的空間,這將直接導(dǎo)致郵件服務(wù)器上磁盤空間暴漲。

4.MIME
MIME并不是用于傳送郵件的協(xié)議,它作為多用途郵件的擴展定義了郵件內(nèi)容的格式:信息格式、附件格式等等。一些RFC標(biāo)準都涉及了MIME:RFC 822, RFC 2045, RFC 2046, RFC 2047,有興趣的Matrixer可以閱讀一下。而作為JavaMail API的開發(fā)者,我們并不需關(guān)心這些格式定義,但是這些格式被用在了程序中。

5.NNTP和其它的第三方協(xié)議
正因為JavaMail API在設(shè)計時考慮到與第三方協(xié)議實現(xiàn)提供商之間的分離,故我們可以很容易的添加一些第三方協(xié)議。SUN維護著一個第三方協(xié)議實現(xiàn)提供商的列表:http://java.sun.com/products/javamail/Third_Party.html,通過此列表我們可以找到所需要的而又不被SUN提供支持的第三方協(xié)議:比如NNTP這個新聞組協(xié)議和S/MIME這個安全的MIME協(xié)議。

三、安裝
1.安裝JavaMail
為了使用JavaMail API,需要從http://java.sun.com/products/javamail/downloads/index.html下載文件名格式為javamail-[version].zip的文件(這個文件中包括了JavaMail實現(xiàn)),并將其中的mail.jar文件添加到CLASSPATH中。這個實現(xiàn)提供了對SMTP、IMAP4、POP3的支持。
注意:在安裝JavaMail實現(xiàn)之后,我們將在demo目錄中發(fā)現(xiàn)許多有趣的簡單實例程序。
在安裝了JavaMail之后,我們還需要安裝JavaBeans Activation Framework,因為這個框架是JavaMail API所需要的。如果我們使用J2EE的話,那么我們并無需單獨下載JavaMail,因為它存在于J2EE.jar中,只需將J2EE.jar加入到CLASSPATH即可。

2.安裝JavaBeans Activation Framework
從http://java.sun.com/products/javabeans/glasgow/jaf.html下載JavaBeans Activation Framework,并將其添加到CLASSPATH中。此框架增加了對任何數(shù)據(jù)塊的分類、以及對它們的處理的特性。這些特性是JavaMail API需要的。雖然聽起來這些特性非常模糊,但是它對于我們的JavaMail API來說只是提供了基本的MIME類型支持。
到此為止,我們應(yīng)當(dāng)把mail.jar和activation.jar都添加到了CLASSPATH中。
當(dāng)然如果從方便的角度講,直接把這兩個Jar文件復(fù)制到JRE目錄的lib/ext目錄中也可以。

四、初次認識JavaMail API
1.了解我們的JavaMail環(huán)境
A.縱覽JavaMail核心類結(jié)構(gòu)
打開JavaMail.jar文件,我們將發(fā)現(xiàn)在javax.mail的包下面存在著一些核心類:Session、Message、Address、Authenticator、Transport、Store、Folder。而且在javax.mail.internet包中還有一些常用的子類。
B.Session
Session類定義了基本的郵件會話。就像Http會話那樣,我們進行收發(fā)郵件的工作都是基于這個會話的。Session對象利用了java.util.Properties對象獲得了郵件服務(wù)器、用戶名、密碼信息和整個應(yīng)用程序都要使用到的共享信息。
Session類的構(gòu)造方法是私有的,所以我們可以使用Session類提供的getDefaultInstance()這個靜態(tài)工廠方法獲得一個默認的Session對象:


Properties props = new Properties();// fill props with any informationSession session = Session.getDefaultInstance(props, null);

或者使用getInstance()這個靜態(tài)工廠方法獲得自定義的Session: 


Properties props = new Properties();// fill props with any informationSession session = Session.getInstance(props, null);

從上面的兩個例子中不難發(fā)現(xiàn),getDefaultInstance()和getInstance()方法的第二個參數(shù)都是null,這是因為在上面的例子中并沒有使用到郵件授權(quán),下文中將對授權(quán)進行詳細介紹。
從很多的實例看,在對mail server進行訪問的過程中使用共享的Session是足夠的,即使是工作在多個用戶郵箱的模式下也不例外。

C.Message
當(dāng)我們建立了Session對象后,便可以被發(fā)送的構(gòu)造信息體了。在這里SUN提供了Message類型來幫助開發(fā)者完成這項工作。由于Message是一個抽象類,大多數(shù)情況下,我們使用javax.mail.internet.MimeMessage這個子類,該類是使用MIME類型、MIME信息頭的郵箱信息。信息頭只能使用US-ASCII字符,而非ASCII字符將通過編碼轉(zhuǎn)換為ASCII的方式使用。
為了建立一個MimeMessage對象,我們必須將Session對象作為MimeMessage構(gòu)造方法的參數(shù)傳入:


MimeMessage message = new MimeMessage(session);

注意:對于MimeMessage類來講存在著多種構(gòu)造方法,比如使用輸入流作為參數(shù)的構(gòu)造方法。

在建立了MimeMessage對象后,我們需要設(shè)置它的各個part,對于MimeMessage類來說,這些part就是MimePart接口。最基本的設(shè)置信息內(nèi)容的方法就是通過表示信息內(nèi)容和米么類型的參數(shù)調(diào)用setContent()方法:


message.setContent("Hello", "text/plain");

然而,如果我們所使用的MimeMessage中信息內(nèi)容是文本的話,我們便可以直接使用setText()方法來方便的設(shè)置文本內(nèi)容。


message.setText("Hello");

前面所講的兩種方法,對于文本信息,后者更為合適。而對于其它的一些信息類型,比如HTML信息,則要使用前者。
別忘記了,使用setSubject()方法對郵件設(shè)置郵件主題:


message.setSubject("First");


D.Address
到這里,我們已經(jīng)建立了Session和Message,下面將介紹如何使用郵件地址類:Address。像Message一樣,Address類也是一個抽象類,所以我們將使用javax.mail.internet.InternetAddress這個子類。
通過傳入代表郵件地址的字符串,我們可以建立一個郵件地址類:


Address address = new InternetAddress("president@whitehouse.gov"); 

如果要在郵件地址后面增加名字的話,可以通過傳遞兩個參數(shù):代表郵件地址和名字的字符串來建立一個具有郵件地址和名字的郵件地址類:


Address address = new InternetAddress("president@whitehouse.gov", "George Bush"); 

本文在這里所講的郵件地址類是為了設(shè)置郵件信息的發(fā)信人和收信人而準備的,在建立了郵件地址類后,我們通過message的setFrom()和setReplyTo()兩種方法設(shè)置郵件的發(fā)信人:


message.setFrom(address);message.setReplyTo(address);

若在郵件中存在多個發(fā)信人地址,我們可用addForm()方法增加發(fā)信人:


Address address[] = ...;message.addFrom(address);

為了設(shè)置收信人,我們使用addRecipient()方法增加收信人,此方法需要使用Message.RecipientType的常量來區(qū)分收信人的類型:


message.addRecipient(type, address)

下面是Message.RecipientType的三個常量:

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
99久久精品免费精品国产| 精品国产一区二区三区四区四| 欧美日韩亚洲综合在线 | 在线亚洲人成电影网站色www| 911精品国产一区二区在线| 日本一区二区三区四区| 日韩精品一级中文字幕精品视频免费观看| 国产二区国产一区在线观看| 欧美日韩久久久| 中文字幕一区二区三区乱码在线| 久久99久久精品| 欧美精品aⅴ在线视频| 国产精品女同一区二区三区| 日韩激情一区二区| 91成人在线精品| 国产精品电影院| 国产精品1024久久| 精品久久久久久最新网址| 亚洲第一久久影院| 99久久婷婷国产综合精品电影| 日韩欧美国产综合在线一区二区三区| 亚洲高清免费在线| 色婷婷av一区二区| 一区二区三区日本| 色噜噜狠狠一区二区三区果冻| 国产精品国产a级| 欧美性大战久久久久久久| 亚洲国产精品99久久久久久久久| 精品中文字幕一区二区小辣椒| 欧美三级乱人伦电影| 亚洲综合久久av| 在线观看亚洲专区| 亚洲一二三区视频在线观看| 色av一区二区| 亚洲综合在线电影| 欧美性生活影院| 亚洲高清中文字幕| 91.麻豆视频| 奇米综合一区二区三区精品视频| 51精品秘密在线观看| 欧美bbbbb| 欧美成人乱码一区二区三区| 寂寞少妇一区二区三区| 欧美精品一区二区精品网| 国产中文字幕精品| 久久久精品2019中文字幕之3| 国产精品538一区二区在线| 国产清纯白嫩初高生在线观看91 | 精品国一区二区三区| 久久99深爱久久99精品| 久久免费美女视频| 99视频一区二区三区| 亚洲精品一二三区| 3atv在线一区二区三区| 精彩视频一区二区| 中文字幕字幕中文在线中不卡视频| 成人高清免费观看| 亚洲sss视频在线视频| 日韩午夜在线播放| 粉嫩aⅴ一区二区三区四区五区| 亚洲欧洲日韩av| 欧美精品在欧美一区二区少妇| 麻豆视频一区二区| 国产精品久久久久三级| 精品视频全国免费看| 色国产综合视频| 日韩一区二区三区四区| 久久精品人人做| 首页欧美精品中文字幕| 日韩国产欧美三级| 国产一区二区三区香蕉| 日本二三区不卡| 欧美激情综合在线| 亚洲精品一区二区三区99| 日本一区二区视频在线| 国产一区二区免费在线| 一本一道久久a久久精品| 日韩电影在线免费| 中文字幕亚洲成人| 日韩一区二区免费高清| 91日韩精品一区| 国产一区福利在线| 亚洲18女电影在线观看| 国产精品久久夜| 日韩欧美亚洲国产另类| 在线中文字幕一区二区| 国产精一区二区三区| 亚洲mv在线观看| 国产精品丝袜91| xf在线a精品一区二区视频网站| 在线精品视频小说1| 欧美人与性动xxxx| 成人avav影音| 国产成人亚洲精品狼色在线| 日日夜夜精品免费视频| 亚洲欧美另类久久久精品2019| 欧美精品一区二区三区蜜桃 | 精品一区二区在线播放| 亚洲综合色网站| 国产精品久久久久久久久图文区 | 成人小视频在线| 美女视频一区二区| 性欧美大战久久久久久久久| 中文字幕在线一区| 国产日产欧美一区二区视频| 精品久久久久久久久久久久包黑料 | 国产三级久久久| 精品久久久久久久久久久久久久久久久 | 成人黄色国产精品网站大全在线免费观看| 日韩在线一区二区| 亚洲国产成人高清精品| 亚洲激情男女视频| 国产精品白丝av| 裸体健美xxxx欧美裸体表演| 亚洲va天堂va国产va久| 午夜av电影一区| 五月婷婷久久综合| 午夜精品福利在线| 视频在线观看国产精品| 日韩精品亚洲一区| 秋霞午夜av一区二区三区| 日韩精品视频网| 久久激情五月激情| 国产在线一区观看| 国产98色在线|日韩| 粗大黑人巨茎大战欧美成人| 成人一道本在线| 99久久伊人网影院| 日本福利一区二区| 欧美美女激情18p| 日韩久久精品一区| 日本一区二区三区在线不卡| 国产精品久久久久一区二区三区 | www国产精品av| 国产三级精品三级| 国产精品久久99| 亚洲一卡二卡三卡四卡无卡久久 | 亚洲欧美色图小说| 亚洲影院免费观看| 久久9热精品视频| 成人免费视频视频| 色8久久精品久久久久久蜜| 欧美精品视频www在线观看| 在线综合+亚洲+欧美中文字幕| 日韩亚洲欧美成人一区| 国产精品丝袜一区| 亚洲成av人片观看| 国产在线精品一区二区夜色 | 国产精品久久久久一区| 一区二区三区视频在线看| 欧美a一区二区| 成人开心网精品视频| 欧美日韩免费高清一区色橹橹 | 国产丝袜在线精品| 一区二区久久久久久| 国产综合久久久久久鬼色| 色婷婷久久久亚洲一区二区三区| 欧美一级日韩免费不卡| 中文字幕在线观看一区二区| 日韩成人一区二区| 99精品欧美一区二区三区小说| 欧美剧情电影在线观看完整版免费励志电影| 精品福利视频一区二区三区| 亚洲欧美日韩一区二区 | 国产农村妇女精品| 亚洲成av人综合在线观看| 国产成a人无v码亚洲福利| 国产亚洲综合色| 日韩不卡免费视频| 日本福利一区二区| 欧美激情一区二区在线| 日本三级亚洲精品| 色呦呦日韩精品| 中文字幕成人网| 精品亚洲aⅴ乱码一区二区三区| 色综合视频在线观看| 久久毛片高清国产| 欧美aⅴ一区二区三区视频| 99re8在线精品视频免费播放| 欧美不卡在线视频| 亚洲国产裸拍裸体视频在线观看乱了| 国产xxx精品视频大全| 亚洲精品一区二区三区蜜桃下载 | 99久久精品国产毛片| 精品va天堂亚洲国产| 日韩电影在线看| 欧美精品xxxxbbbb| 亚洲一级二级三级| 色999日韩国产欧美一区二区| 日本一区二区三区四区| 韩国女主播一区二区三区| 日韩亚洲欧美成人一区| 五月综合激情网| 欧美日韩一区高清| 亚洲无人区一区| 欧美亚洲一区二区在线观看| 亚洲婷婷综合久久一本伊一区| 岛国精品在线观看| 国产精品久久久久久妇女6080 | 蜜臀久久99精品久久久久久9|