<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
    海風(fēng) 發(fā)表于 2005-7-13 23:04:29

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

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

    HTML郵件表格

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

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

    JavaMail的基礎(chǔ)知識

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

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

      1.Properties

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

       Properties props = new Properties ();

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

      2.Session

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

      Session sendMailSession;

      sendMailSession = Session.getInstance(props, null);

      3.Transport

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

      用法:Transport transport;

       transport = sendMailSession.getTransport("smtp");

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

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

      4.Message

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

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

      JavaMail結(jié)合JSP

      一、構(gòu)建JSP程序

      前面我們建造了一個HTML表單用來發(fā)送郵件信息,又介紹了JavaMail中的一些對象和方
    法。現(xiàn)在我們將把這些組件集合起來來構(gòu)成我們的郵件系統(tǒng)。

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

      <%

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

      %>

    下一步,創(chuàng)建郵件發(fā)送出去的確認(rèn)信息,如"你的郵件已發(fā)送,請返回"

      二、創(chuàng)建并發(fā)送Message對象

      創(chuàng)建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"));

      現(xiàn)在終于可以把消息發(fā)送出去了:

      transport.send(newMessage);

    三、完整的程序

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

      源程序二:JavaMail 電子郵件發(fā)送系統(tǒng)的JSP實現(xiàn)程序代碼:

      <%@ page

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

      %>

      <html>

      <head>

       <TITLE>JavaMail 電子郵件發(fā)送系統(tǒng)</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>你的郵件已發(fā)送,請返回。</p>

      <%

       }

        catch(MessagingException m)

        {

          out.println(m.toString());

         }

       %>

      </BODY>

      </HTML>

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

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


    網(wǎng)站導(dǎo)航:
     
    <2005年9月>
    28293031123
    45678910
    11121314151617
    18192021222324
    2526272829301
    2345678

    常用鏈接

    留言簿(7)

    隨筆檔案

    搜索

    •  

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 性xxxxx大片免费视频| 一级女人18片毛片免费视频| 成人网站免费看黄A站视频| 精品国产亚洲男女在线线电影 | 亚洲中文字幕日产乱码高清app| 亚洲乱妇熟女爽到高潮的片| 女人18特级一级毛片免费视频| 中文字幕在线观看亚洲视频| 在线观看H网址免费入口| 亚洲精品国产情侣av在线| 18以下岁毛片在免费播放| 亚洲人成影院午夜网站| 67194成是人免费无码| 亚洲精品日韩一区二区小说| 免费黄色小视频网站| 水蜜桃视频在线观看免费| 亚洲国产成人五月综合网 | 国产va免费精品观看精品| 亚洲人成高清在线播放| 日韩成人免费视频播放| 污视频网站免费观看| 国产V亚洲V天堂A无码| 18成禁人视频免费网站| 亚洲AV无码专区在线电影成人| 亚洲AⅤ优女AV综合久久久| 3344在线看片免费| 亚洲免费视频播放| 免费A级毛片无码久久版| 日韩av无码免费播放| 91亚洲自偷在线观看国产馆| 成人免费a级毛片无码网站入口 | 亚洲精品国产品国语在线| 69视频免费在线观看| 亚洲精品乱码久久久久久V | 亚洲国产精品久久久久婷婷软件 | 亚洲AV成人影视在线观看| 亚洲一级特黄无码片| 亚洲毛片免费观看| 十八禁的黄污污免费网站| 亚洲欧洲日产国码久在线观看| 免费观看理论片毛片|