JSP Insider 5: 在JSP中使用JavaMail---3
發(fā)表時(shí)間:2023-07-21 來(lái)源:明輝站整理相關(guān)軟件相關(guān)文章人氣:
[摘要]第二部分,關(guān)于JavaMail使用文檔下載JavaMail API 之后,其中所包含的文檔非常有用,文檔存放在JavaMail所在目錄的子目錄/docs/javadocs/中。下面將介紹郵件工具中所...
第二部分,關(guān)于JavaMail
使用文檔
下載JavaMail API 之后,其中所包含的文檔非常有用,文檔存放在JavaMail所在目錄的子目錄/docs/javadocs/中。下面將介紹郵件工具中所需用到的一些組件。請(qǐng)參閱JavaMail文檔,以便了解更多相關(guān)信息。
使用JavaMail發(fā)送email時(shí)需要的組件
JavaMail的結(jié)構(gòu)體系,使得處理email尤為簡(jiǎn)單。下面為我們所需要的一些類。
Properties(屬性):JavaMail在創(chuàng)建一個(gè)會(huì)話對(duì)象時(shí),需要用到Properties。該對(duì)象將尋找名為“mail.smtp.host”的屬性串,其屬性值是發(fā)送mail的主機(jī)。
Properties props = new Properties ();
props.put("mail.smtp.host", "smtp.jspinsider.com");
Session(會(huì)話): Session對(duì)象表示JavaMail中的一個(gè)mail對(duì)話。每個(gè)基于JavaMail的工具至少需要一個(gè)session,但可以有多個(gè)session。本例中, Session對(duì)象需要知道處理郵件的SMTP服務(wù)器。創(chuàng)建Session 對(duì)象可以這樣進(jìn)行:
Session sendMailSession;
sendMailSession = Session.getInstance(props, null);
Transport(傳輸):郵件要么是發(fā)送出去,要么是接收進(jìn)來(lái)。JavaMail 用兩個(gè)不同的對(duì)象表示這兩個(gè)動(dòng)作,即Transport和Store。Transport對(duì)象用于發(fā)送信息,Store用于接收信息。在本教程中,我們需要用到Transport對(duì)象。
Transport transport;
transport = sendMailSession.getTransport("smtp");
可以使用JavaMail 的Session對(duì)象的getTransport 方法來(lái)初始化Transport 對(duì)象。傳遞的字符串參數(shù)定義了返回對(duì)象中的使用的協(xié)議。這里,我們可以看到,使用JavaMail節(jié)省了很多的時(shí)間,否則我們得自己編程序完成SMTP的全部實(shí)現(xiàn)過(guò)程,而JavaMail已經(jīng)把這些工作預(yù)先做好了。
注意:JavaMail并不是什么都支持,目前僅支持IMAP,SMTP和POP3。除此之外,如果還需要支持其他的協(xié)議,你就需要等待JavaMail的下一版本,或者你自己構(gòu)造有關(guān)協(xié)議。
Message(消息):Message對(duì)象表示要發(fā)送的實(shí)際的email消息。創(chuàng)建的Message 對(duì)象為MimeMessage,該對(duì)象需要知道選擇哪一個(gè)JavaMail 會(huì)話。
Message newMessage = new MimeMessage(sendMailSession);
這就完了,我們需要的就是上面介紹的這四個(gè)對(duì)象。下一步,將介紹如何把這些對(duì)象放到JSP中。