<form id="hz9zz"></form>
  • <form id="hz9zz"></form>

      <nobr id="hz9zz"></nobr>

      <form id="hz9zz"></form>

    1. 明輝手游網中心:是一個免費提供流行視頻軟件教程、在線學習分享的學習平臺!

      在JSP中使用JavaMail

      [摘要]你希望在jsp中建立一個郵件發送收取工具嗎?下面將介紹的就是在jsp中建立一個郵件發送收取工具。在這篇文章中你可以了解到JavaMail API的一些要點以及如何在JSP中使用它。本文中還包括了在JSP中使用JavaMail的實例。JavaMail是JSP應用軟件中相當強大的API。   閱讀這篇...
        你希望在jsp中建立一個郵件發送收取工具嗎?下面將介紹的就是在jsp中建立一個郵件發送收取工具。在這篇文章中你可以了解到JavaMail API的一些要點以及如何在JSP中使用它。本文中還包括了在JSP中使用JavaMail的實例。JavaMail是JSP應用軟件中相當強大的API。

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

        什么是JavaMail

        
      JavaMail是Sun發布的用來處理email的API。它可以方便地執行一些常用的郵件傳輸。

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

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

        這篇指南包括三部分:HTML表格、關于
      JavaMail、JavaMail和JSP的結合。

        第一部分:HTML表格

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

        劃分組件

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

        ●一個用來將email的信息發送給
      JSP的HTML表格;

        ●一個
      JSP頁面用來處理和發送信件。

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

        用來發送email的HTML源代碼

      <HTML>
      <BODY>
      <FORM action="sendmail.jsp" method="post">
      <TABLE align="center">
      <TR>
      <TD width="50%">
      To:<BR><INPUT name="to" size="25">
      </TD>
      <TD width="50%">
      From:<BR><INPUT name="from" size="25">
      </TD>
      </TR>
      <TR>
      <TD colspan="2">
      Subject:<BR><INPUT name="subject" size="50">
      </TD>
      </TR>
      <TR>
      <TD colspan="2">
      Message:<BR><TEXTAREA name="text" rows=25 cols=85></TEXTAREA>
      </TD>
      </TR>
      </TABLE>
      <INPUT type="submit" name="cb_submit" value=" Send ">
      <INPUT type="reset" name="cb_reset" value=" Clear ">
      </FORM>
      </BODY>
      </HTML>

        以上這段程序將創建一個包含email基本信息(例如:收件地址、發送地址、主題和內容)的文件。當然你可以根據你自己的需要來決定這個文件包含那些信息。

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

        第二部分:關于JavaMail

        文檔的使用

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

        組件發送郵件需要使用
      JavaMail,它使對郵件的操作變得簡單易用。

        屬性對象

        
      JavaMail需要創建一個格式為"mail.smtp.host"的文件用來發送信息。

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

        對話對象

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

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

        傳輸

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

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

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

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

        信息對象

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

      Message newMessage = new MimeMessage(sendMailSession);

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

        第三部分:JavaMail和JSP的結合

        創建
      JSP

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

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

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

        信息是如何創建和發送的

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

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

        現在將開始發送信息。通過JavaMail來實現它非常簡單。

      transport.send(newMessage);

        將所有的組件結合在一起

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

      Sample JSP email Utility Using JavaMail
      <%@ page
      import=" javax.mail.*, javax.mail.internet.*, javax.activation.*,java.util.*"
      %>
      <html>
      <head>
      <TITLE>
      JSP meets JavaMail, what a sweet combo.</TITLE>
      </HEAD>
      <BODY>
      <%
      try{
      Properties props = new Properties();
      Session sendMailSession;
      Store store;
      Transport transport;
      sendMailSession = Session.getInstance(props, null);
      props.put("mail.smtp.host", "smtp.jspinsider.com");
      Message newMessage = new MimeMessage(sendMailSession);
      newMessage.setFrom(new InternetAddress(request.getParameter("from")));
      newMessage.setRecipient(Message.RecipientType.TO, new InternetAddress(request.getParameter("to")));
      newMessage.setSubject(request.getParameter("subject"));
      newMessage.setSentDate(new Date());
      newMessage.setText(request.getParameter("text"));
      transport = sendMailSession.getTransport("smtp");
      transport.send(newMessage);
      %>
      <P>Your mail has been sent.</P>
      <%
      }
      catch(MessagingException m)
      {
      out.println(m.toString());
      }
      %>
      </BODY>
      </HTML>




      日韩精品一区二区三区高清