posts - 37, comments - 8, trackbacks - 0, articles - 0
          1、構(gòu)建JavaMail開發(fā)環(huán)境:
          主要是引入兩個(gè)包:mail.jar與activation.jar
          可以到下面的網(wǎng)站下載最新的JavaMailAPI:http://java.sun.com/products/javamail/downloads/index.html
          可以到下面的網(wǎng)站下載最新的JAF:http://java.sun.com/javase/technologies/desktop/javabeans/jaf/
          解壓下載的zip包,在其中找到mail.jar與activation.jar,將它們拷貝到WEB-INF/lib目錄下
          2、構(gòu)建JavaMail發(fā)郵件程序的步驟:創(chuàng)建JavaMail會(huì)話--->編寫JavaMail消息--->發(fā)送JavaMail消息
              1)創(chuàng)建JavaMail會(huì)話
              Properties props=new Properties();
              //指定SMTP服務(wù)器
              props.put("mail.smtp.host",host);
              //指定是否需要smtp驗(yàn)證
              props.put("mail.smtp.auth","true");
                 Session mailSession=Session.getDefaultInstance(props);
               //在控制臺(tái)顯示debug信息,用以調(diào)試,發(fā)布前要設(shè)為false,默認(rèn)為false
               mailSession.setDebug(true);
              2)編寫JavaMail消息
          //構(gòu)造新的消息對(duì)象
                  Message message=new MimeMessage(mailSession);
                  //發(fā)件人
                  message.setFrom(new InternetAddress(From));
                  //收件人
                  message.addRecipient(Message.RecipientType.TO,new InternetAddress(to));
                  //抄送人
                  message.addRecipient(Message.RecipientType.CC,new InternetAddress("wangzhaoqingk@126.com"));
                  //郵件主題
                  message.setSubject(Subject) ;
                  //郵件內(nèi)容
                  message.setText(messageText);
                  //發(fā)信日期
                  message.setSentDate(new Date());
                  //保存郵件設(shè)置信息
                  message.saveChanges();
              3)發(fā)送JavaMail消息
                  //構(gòu)造傳送對(duì)象
                  Transport transport=mailSession.getTransport("smtp");
                  transport.connect(host,user,password);
                  transport.sendMessage(message,message.getAllRecipients());
                  transport.close();
          3、構(gòu)建JavaMail發(fā)郵件程序的步驟:登錄Store--->列出Inbox中的郵件--->讀取消息
              1)登錄Store
              Properties props=new Properties();
              //指定pop3郵件服務(wù)器
              props.put("mail.pop3.host",host);
              //創(chuàng)建郵件會(huì)話
              Session mailsession=Session.getDefaultInstance(props);
              //創(chuàng)建Store對(duì)象
              Store store=mailsession.getStore("pop3");
              //登錄到Store
              store.connect(host,user,password);
              2)列出Inbox中的郵件
              //獲得INBOX文件夾
              Folder inbox=store.getDefaultFolder().getFolder("INBOX");
              //以讀寫模式打開INBOX文件夾
              inbox.open(Folder.READ_WRITE);
              //從INBOX文件夾取得所有的消息對(duì)象
              Message[] message=inbox.getMessages();
              3)讀取消息
              //循環(huán)讀取消息
              for(int i=0;i
          <message.length;i++){
              message[i].setFlag(Flags.Flag.DELETED,true);
              out.println("郵件主題:"+message[i].getSubject()+"<br
          >");
              out.println("郵件發(fā)送者:"+message[i].getFrom()+"
          <br>");
              out.println("發(fā)送時(shí)間:"+message[i].getSentDate()+"
          <br>");
              out.println("內(nèi)容:"+message[i].getContent()+"
          <br>");}
          inbox.colse(true);
          store.close();
          4、構(gòu)建Multipart消息的步驟:創(chuàng)建Multipart消息--->創(chuàng)建Bodypart--->將Bodypart添加到Multipart消息--->將消息設(shè)置為Multipart對(duì)象
              1)創(chuàng)建Multipart消息
              2)創(chuàng)建Bodypart
              3)將Bodypart添加到Multipart消息
              4)將消息設(shè)置為Multipart對(duì)象
          5、JavaMail組件中為什么Message、Folder和Store都被定義為抽象類?我們?nèi)绾稳〉盟鼈兿鄳?yīng)的實(shí)例對(duì)象。
          答:JavaMail API定義了一個(gè)用來管理郵件的通用接口,并且JavaMail允許程序員通過API里的接口來撰寫自己的應(yīng)用程序,執(zhí)行時(shí)再請(qǐng)求使用某種類型的處理。這樣程序員采用JavaMail編寫郵件消息收發(fā)程序具有適應(yīng)于任何郵件服務(wù)器的通用性和跨平臺(tái)的優(yōu)點(diǎn)。Message類我們一般使用其相應(yīng)的子類MimeMessage創(chuàng)建實(shí)例,Store類實(shí)例用Session的getStore()方法取得,F(xiàn)older類實(shí)例用Store的getFolder()方法取得。
          注:寫本隨筆之前,我調(diào)試了三個(gè)例子(6個(gè)文件),篇幅較長,不再往上貼了,誰若需要,可以給我留言,注上郵箱,我會(huì)給你寄過去。

          Feedback

          # re: jsp程序設(shè)計(jì):JavaMail  回復(fù)  更多評(píng)論   

          2010-03-17 22:33 by yz
          你好~~有需要你的例子,麻煩寄給我下~
          yemingye@tom.com

          # re: jsp程序設(shè)計(jì):JavaMail  回復(fù)  更多評(píng)論   

          2010-03-17 22:33 by yz
          呵呵謝謝啊~~
          主站蜘蛛池模板: 二连浩特市| 沙湾县| 祁阳县| 鹤岗市| 朝阳市| 泽普县| 礼泉县| 沁源县| 措勤县| 巩留县| 桦甸市| 永新县| 桑日县| 兴城市| 太谷县| 信丰县| 昭通市| 天峨县| 河池市| 淮阳县| 利津县| 葫芦岛市| 彰武县| 锡林浩特市| 特克斯县| 靖边县| 古田县| 萝北县| 察隅县| 普兰店市| 榆中县| 榆社县| 平潭县| 屏东市| 青岛市| 察雅县| 玛沁县| 石楼县| 句容市| 平度市| 永泰县|