<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    posts - 25,  comments - 25,  trackbacks - 0
    javamail
    海風 發表于 2005-7-13 23:04:29

    http://www.javachina.cn/Commend.jsp

    從Sun的官方網站上下載到JavaMail類文件包。除
    此之外還需要Sun的JAF(JavaBeans Activation Framework ),否則JavaMail將不能運行。

    HTML郵件表格

      JSP最大的特色之一就是能把項目分類或劃分成許多組件,從而提高了組件的重利用率,
    也降低了編程的難度。因此我們在編程的時候也要想著如何把大的問題劃分成一個個模塊:
        模塊一 一個HTML表單,能把電子郵件信息傳送給JSP程序

      模塊二 一個處理和發送郵件的JSP頁面

    JavaMail的基礎知識

      使用JavaMail是發送電子郵件所需要的組件 。

      JavaMail的機構使處理電子郵件非常容易。下面列出了一些我們需要的類:

      1.Properties

      JavaMail需要Properties來創建一個session對象。它將尋找字符串"mail.smtp.host",
    屬性值就是發送郵件的主機,如:

       Properties props = new Properties ();

       props.put("mail.smtp.host", "smtp.abcd.com");//可以換上你的smtp主機名。

      2.Session

      這個Session類代表JavaMail 中的一個郵件session. 每一個基于 JavaMail的應用程序
    至少有一個session但是可以有任意多的session。 在這個例子中, Session對象需要知道用
    來處理郵件的SMTP 服務器。為了做到這一點,你可以參照下面的例子用Properties 來創建
    一個Session 對象

      Session sendMailSession;

      sendMailSession = Session.getInstance(props, null);

      3.Transport

      郵件是既可以被發送也可以被受到。JavaMail使用了兩個不同的類來完成這兩個功能:
    Transport 和 Store。 Transport 是用來發送信息的,而Store用來收信。對于這的教程我
    們只需要用到Transport對象。Store的用法請參看Sun的JavaMail文檔。

      用法:Transport transport;

       transport = sendMailSession.getTransport("smtp");

      用JavaMail Session對象的getTransport 方法來初始化Transport。傳過去的字符串申
    明了對象所要使用的協議,如"smtp"。這將為我們省了很多時間。因為JavaMail以境內置了
    很多協議的實現方法。

      注意: JavaMail并不是絕對支持每一個協議,目前支持IMAP、 SMTP和 POP3。

      4.Message

      Message對象將存儲我們實際發送的電子郵件信息,Message對象被作為一個MimeMessag
    e對象來創建并且需要知道應當選擇哪一個JavaMail session。

      使用方法是:Message newMessage = new MimeMessage(sendMailSession);

      JavaMail結合JSP

      一、構建JSP程序

      前面我們建造了一個HTML表單用來發送郵件信息,又介紹了JavaMail中的一些對象和方
    法。現在我們將把這些組件集合起來來構成我們的郵件系統。

      第一步也是最重要的一步,確信在page指令中導入了需要的類。除了JavaMail的相關的
    類和JAF外,不要忘了導入java.util.date ,因為我們需要它來給郵件蓋上時間戳。

      <%

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

      %>

    下一步,創建郵件發送出去的確認信息,如"你的郵件已發送,請返回"

      二、創建并發送Message對象

      創建Message 對象的方法我們在第三課中就以討論過了,我們可以用Message來處理消息
    了,就像在Message對象上使用get和set屬性一樣簡單。在這一部分使用了很多request.get
    Parameter()。

      newMessage.setFrom(new InternetAddress(request.getParameter("from")));

      newMessage.setRecipient(Message.RecipientType.TO, new InternetAddress(reques
    t.getParameter("to")));

      newMessage.setSubject(request.getParameter("subject"));

      newMessage.setSentDate(new Date());

      newMessage.setText(request.getParameter("text"));

      現在終于可以把消息發送出去了:

      transport.send(newMessage);

    三、完整的程序

      上面的都是一些零零碎碎的代碼,現在我們把它們寫成一個完整的JSP程序。注意要捕捉
    任何錯誤并把它們顯示給用戶。

      源程序二:JavaMail 電子郵件發送系統的JSP實現程序代碼:

      <%@ page

       import=" javax.mail.*, javax.mail.internet.*, javax.activation.*,java.util
    .*"

      %>

      <html>

      <head>

       <TITLE>JavaMail 電子郵件發送系統</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.abcd.com");

        Message newMessage = new MimeMessage(sendMailSession);

        newMessage.setFrom(new InternetAddress(request.getParameter("from")));

        newMessage.setRecipient(Message.RecipientType.TO, new InternetAddress(re
    quest.getParameter("to")));

        newMessage.setSubject(request.getParameter("subject"));

        newMessage.setSentDate(new Date());

        newMessage.setText(request.getParameter("text"));

        transport = sendMailSession.getTransport("smtp");

        transport.send(newMessage);

      %>

      <p>你的郵件已發送,請返回。</p>

      <%

       }

        catch(MessagingException m)

        {

          out.println(m.toString());

         }

       %>

      </BODY>

      </HTML>

    posted on 2005-09-07 11:24 子玉 閱讀(472) 評論(0)  編輯  收藏

    只有注冊用戶登錄后才能發表評論。


    網站導航:
     
    <2005年9月>
    28293031123
    45678910
    11121314151617
    18192021222324
    2526272829301
    2345678

    常用鏈接

    留言簿(7)

    隨筆檔案

    搜索

    •  

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 免费人成网站永久| 色婷婷亚洲一区二区三区| 国内精品久久久久影院免费| 亚洲视频在线免费| 一区二区三区视频免费观看| 亚洲AV无码乱码在线观看牲色 | 亚洲网址在线观看| 99久在线国内在线播放免费观看| 亚洲AV日韩AV天堂久久 | 最近中文字幕无免费视频| 久久久久se色偷偷亚洲精品av| 可以免费看黄的网站| 亚洲一区二区三区在线网站| 成人毛片18女人毛片免费96 | 九九免费精品视频在这里| 亚洲人成无码www久久久| 中文字幕乱码系列免费| 久久久综合亚洲色一区二区三区| **毛片免费观看久久精品| 亚洲av无码电影网| 国产在线观看www鲁啊鲁免费| 美女视频黄视大全视频免费的| 亚洲一区二区三区AV无码| 国产99视频精品免费专区| 亚洲美免无码中文字幕在线| 免费一级毛片一级毛片aa| 九九免费精品视频在这里| 亚洲AV无码乱码在线观看裸奔| 巨波霸乳在线永久免费视频 | 一本一道dvd在线观看免费视频 | 亚洲一区精品视频在线| 国产网站免费观看| a级片免费在线播放| 亚洲资源最新版在线观看| 免费A级毛片在线播放不收费| 国产午夜成人免费看片无遮挡 | 免费高清国产视频| 亚洲国产精品网站在线播放| 国产午夜亚洲精品午夜鲁丝片| 国产成人精品免费视频大| 国产精品美女免费视频观看|