自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

淺談利用JavaMail建立JSP郵件系統(tǒng)

開發(fā) 后端
在這篇文章中你可以了解到JavaMail API的一些要點以及如何在JSP中建立自己的JSP郵件系統(tǒng)。本文中還包括了在JSP中使用JavaMail的實例,JavaMail是JSP應用軟件中相當強大的API。

你希望在JSP中建立一個JSP郵件系統(tǒng),發(fā)送收取郵件嗎?下面將介紹的就是在jsp中建立一個郵件發(fā)送收取工具。在這篇文章中你可以了解到JavaMail API的一些要點以及如何在JSP中使用它。本文中還包括了在JSP中使用JavaMail的實例。JavaMail是JSP應用軟件中相當強大的API。

閱讀這篇文章需要對JSP、JavaBeans和JavaMail有一定的初步了解。當然,有關(guān)于JavaMail的知識你可以通過閱讀這篇文章來獲得。如果你對于以上三項一無所知,但你所使用的服務器支持JSP和JavaMail的話,你可以僅僅通過復制/粘貼來使用它們。

什么是JavaMail

JavaMail是Sun發(fā)布的用來處理Email的API。它可以方便地執(zhí)行一些常用的郵件傳輸。

雖然JavaMail是Sun的API之一,但它目前還沒有被加在標準的java開發(fā)工具包中(Java Development Kit),這就意味著你在使用前必須另外下載JavaMail文件。除此以外,你還需要有Sun的JavaBeans Activation Framework (JAF)。JavaBeans Activation Framework的運行很復雜,在這里簡單的說就是JavaMail的運行必須得依賴于它的支持。在Windows 2000下使用需要指定這些文件的路徑,在其它的操作系統(tǒng)上也類似。

接下來要講解的是這篇指南的最難理解的部分。

這篇指南包括三部分:HTML表格、關(guān)于JavaMail、JavaMail和JSP的結(jié)合。

第一部分:HTML表格

第一部分提供了一個最基本的基于HTML的email發(fā)送收取程序的例子。第二部分則講述JavaMail的工作原理。第三部分則介紹將JavaMail加入JSP,創(chuàng)建一個基本的email發(fā)送收取程序。

劃分組件

JSP最重要的特性是能將整個網(wǎng)頁劃分成一些細小的組件。這里使用的組件包括:

一個用來將email的信息發(fā)送給JSP的HTML表格;

一個JSP頁面用來處理和發(fā)送信件。

第一步,就是創(chuàng)建一個HTML表格用來給JSP頁面發(fā)送信息。你可以將以下的HTML代碼復制到你的電腦上:

用來發(fā)送email的HTML源代碼

  1. <HTML>   
  2. <BODY>   
  3. <FORM action="sendmail.jsp" method="post">   
  4. <TABLE align="center">   
  5. <TR>   
  6. <TD width="50%">   
  7. To:<BR><INPUT name="to" size="25">   
  8. </TD>   
  9. <TD width="50%">   
  10. From:<BR><INPUT name="from" size="25">   
  11. </TD>   
  12. </TR>   
  13. <TR>   
  14. <TD colspan="2">   
  15. Subject:<BR><INPUT name="subject" size="50">   
  16. </TD>   
  17. </TR>   
  18. <TR>   
  19. <TD colspan="2">   
  20. Message:<BR><TEXTAREA name="text" rows=25 cols=85></TEXTAREA>   
  21. </TD>   
  22. </TR>   
  23. </TABLE>   
  24. <INPUT type="submit" name="cb_submit" value=" Send ">   
  25. <INPUT type="reset" name="cb_reset" value=" Clear ">   
  26. </FORM>   
  27. </BODY>   
  28. </HTML> 

以上這段程序?qū)?chuàng)建一個包含email基本信息(例如:收件地址、發(fā)送地址、主題和內(nèi)容)的文件。當然你可以根據(jù)你自己的需要來決定這個文件包含那些信息。

這個HTML文件的使用有兩點要求:第一點是生成的文件必須發(fā)送給接下來將介紹的程序使用。在這個例子中就是sendmail.jsp,但在你使用時,必須用這個文件在系統(tǒng)里的URL來代替它;第二點是必須有空間來允許用戶發(fā)送email。

第二部分:關(guān)于JavaMail文檔的使用

下載的JavaMail API中帶的文檔是很有用的。你可以在JavaMail下的/docs/javadocs/index.html找到它。第二部分主要將分析郵件程序的組件。你可以通過閱讀文檔來獲得更多這方面的信息。

組件發(fā)送郵件需要使用JavaMail,它使對JSP郵件系統(tǒng)的操作變得簡單易用。

屬性對象

JavaMail需要創(chuàng)建一個格式為"mail.smtp.host"的文件用來發(fā)送信息。

  1. Properties props = new Properties ();   
  2. props.put("mail.smtp.host", "smtp.jspinsider.com");   

對話對象

所有的基于JavaMail的程序都至少需要一個或全部的對話目標。

  1. Session sendMailSession;   
  2. sendMailSession = Session.getInstance(props, null);   

傳輸

郵件的傳輸只有送出或受到兩種狀態(tài)。JavaMail將這兩種不同狀態(tài)描述為傳輸和儲存。傳輸將送出郵件,而儲存將收取郵件。

  1. Transport transport;   
  2. transport = sendMailSession.getTransport("smtp");   

使用JavaMail能為我們節(jié)約大量的時間。JavaMail能代替所有的SMTP的工作。

注意:JavaMail并不能完全的支持所有的郵件發(fā)送收取工作。它目前僅支持IMAP、SMTP和POP3,除此以外你只有等待新的JavaMail版本或自己開發(fā)協(xié)議。

信息對象

信息對象將把你所發(fā)送的郵件真實的反映出來。

  1. Message newnewMessage = new MimeMessage(sendMailSession);   

這就是我們所需要的全部四個對象。下一步將是如何將對象加入到JSP中。

第三部分:JavaMail和JSP的結(jié)合

創(chuàng)建JSP

下面我們將開始將他們結(jié)合在一起。最重要的一點是要確認根據(jù)頁面指示分類。還要記得在郵件上標注java.util.date。

  1. <%@ page   
  2. import" javax.mail.*, javax.mail.internet.*, javax.activation.*, java.util.*"   
  3. %>   

其次,創(chuàng)建郵件發(fā)送的確認信息。確認信息可以是任意的,一般常用"你的郵件已經(jīng)發(fā)送出去了(Your mail has been sent)。"

信息是如何創(chuàng)建和發(fā)送的

我們在第二部分里已經(jīng)討論過信息對象的創(chuàng)建。我們下面將對信息進行操作。這就和設置信息對象的屬性一樣簡單。你可以通過下面的程序來實現(xiàn)這項操作。

  1. newMessage.setFrom(new InternetAddress(request.getParameter("from")));   
  2. newMessage.setRecipient(Message.RecipientType.TO, new InternetAddress(request.getParameter("to")));   
  3. newMessage.setSubject(request.getParameter("subject"));   
  4. newMessage.setSentDate(new Date());   
  5. newMessage.setText(request.getParameter("text"));   

現(xiàn)在將開始發(fā)送信息。通過JavaMail來實現(xiàn)它非常簡單。

  1. transport.send(newMessage);   

將所有的組件結(jié)合在一起

現(xiàn)在所有的組件都已經(jīng)齊全了?,F(xiàn)在將它們都放在JSP里面。要注意每一個錯誤信息,并將它反饋給用戶。代碼如下,你可以通過復制它們直接使用:

  1. Sample JSP email Utility Using JavaMail   
  2. <%@ page   
  3. import=" javax.mail.*, javax.mail.internet.*, javax.activation.*,java.util.*"   
  4. %>   
  5. <html>   
  6. <head>   
  7. <TITLE>JSP meets JavaMail, what a sweet combo.</TITLE>   
  8. </HEAD>   
  9. <BODY>   
  10. <%   
  11. try{   
  12. Properties props = new Properties();   
  13. Session sendMailSession;   
  14. Store store;   
  15. Transport transport;   
  16. sendMailSession = Session.getInstance(props, null);   
  17. props.put("mail.smtp.host", "smtp.jspinsider.com");   
  18. Message newnewMessage = new MimeMessage(sendMailSession);   
  19. newMessage.setFrom(new InternetAddress(request.getParameter("from")));   
  20. newMessage.setRecipient(Message.RecipientType.TO, new InternetAddress(request.getParameter("to")));   
  21. newMessage.setSubject(request.getParameter("subject"));   
  22. newMessage.setSentDate(new Date());   
  23. newMessage.setText(request.getParameter("text"));   
  24. transport = sendMailSession.getTransport("smtp");   
  25. transport.send(newMessage);   
  26. %>   
  27. <P>Your mail has been sent.</P>   
  28. <%   
  29. }   
  30. catch(MessagingException m)   
  31. {   
  32. out.println(m.toString());   
  33. }   
  34. %>   
  35. </BODY>   
  36. </HTML>   

你會很快體會到JavaMail的方便之處,JSP郵件系統(tǒng)的介紹就到這里吧。

【編輯推薦】

  1. JSP bean代碼優(yōu)化
  2. 詳細介紹JSP環(huán)境配置方案
  3. 在JSP JSTL中使用存儲過程
  4. ASP.NET、JSP和PHP究竟哪個好
  5. JSP相關(guān)軟件介紹
責任編輯:彭凡 來源: CSDN
相關(guān)推薦

2011-01-19 12:29:44

2013-12-16 17:35:34

2013-09-10 11:02:16

2014-09-24 09:56:40

2011-01-18 14:16:38

Linux郵件系統(tǒng)

2014-02-26 10:12:32

2010-01-11 09:46:24

Postfix郵件系統(tǒng)

2010-07-02 10:31:59

電子郵件新基準盈世信息科技Coremail

2011-02-21 13:40:17

2014-04-04 13:58:40

2014-12-29 16:54:30

電子郵件系統(tǒng)中石化華為

2010-05-25 14:57:17

postfix安裝配置

2014-12-09 10:28:28

TurboMail

2013-09-25 10:03:23

2014-12-19 18:01:51

Coremail 5.郵件系統(tǒng)

2012-03-07 14:37:03

JavaJavaMail

2009-09-07 15:56:16

2013-06-09 14:52:42

2013-06-03 09:36:04

2009-06-16 09:06:37

JavaMailJSP
點贊
收藏

51CTO技術(shù)棧公眾號