posts - 37, comments - 8, trackbacks - 0, articles - 0

          jsp程序設計:JavaMail

          Posted on 2008-10-25 15:20 夢與橋 閱讀(437) 評論(2)  編輯  收藏 所屬分類: jsp程序設計
          1、構建JavaMail開發環境:
          主要是引入兩個包:mail.jar與activation.jar
          可以到下面的網站下載最新的JavaMailAPI:http://java.sun.com/products/javamail/downloads/index.html
          可以到下面的網站下載最新的JAF:http://java.sun.com/javase/technologies/desktop/javabeans/jaf/
          解壓下載的zip包,在其中找到mail.jar與activation.jar,將它們拷貝到WEB-INF/lib目錄下
          2、構建JavaMail發郵件程序的步驟:創建JavaMail會話--->編寫JavaMail消息--->發送JavaMail消息
              1)創建JavaMail會話
              Properties props=new Properties();
              //指定SMTP服務器
              props.put("mail.smtp.host",host);
              //指定是否需要smtp驗證
              props.put("mail.smtp.auth","true");
                 Session mailSession=Session.getDefaultInstance(props);
               //在控制臺顯示debug信息,用以調試,發布前要設為false,默認為false
               mailSession.setDebug(true);
              2)編寫JavaMail消息
          //構造新的消息對象
                  Message message=new MimeMessage(mailSession);
                  //發件人
                  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) ;
                  //郵件內容
                  message.setText(messageText);
                  //發信日期
                  message.setSentDate(new Date());
                  //保存郵件設置信息
                  message.saveChanges();
              3)發送JavaMail消息
                  //構造傳送對象
                  Transport transport=mailSession.getTransport("smtp");
                  transport.connect(host,user,password);
                  transport.sendMessage(message,message.getAllRecipients());
                  transport.close();
          3、構建JavaMail發郵件程序的步驟:登錄Store--->列出Inbox中的郵件--->讀取消息
              1)登錄Store
              Properties props=new Properties();
              //指定pop3郵件服務器
              props.put("mail.pop3.host",host);
              //創建郵件會話
              Session mailsession=Session.getDefaultInstance(props);
              //創建Store對象
              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文件夾取得所有的消息對象
              Message[] message=inbox.getMessages();
              3)讀取消息
              //循環讀取消息
              for(int i=0;i
          <message.length;i++){
              message[i].setFlag(Flags.Flag.DELETED,true);
              out.println("郵件主題:"+message[i].getSubject()+"<br
          >");
              out.println("郵件發送者:"+message[i].getFrom()+"
          <br>");
              out.println("發送時間:"+message[i].getSentDate()+"
          <br>");
              out.println("內容:"+message[i].getContent()+"
          <br>");}
          inbox.colse(true);
          store.close();
          4、構建Multipart消息的步驟:創建Multipart消息--->創建Bodypart--->將Bodypart添加到Multipart消息--->將消息設置為Multipart對象
              1)創建Multipart消息
              2)創建Bodypart
              3)將Bodypart添加到Multipart消息
              4)將消息設置為Multipart對象
          5、JavaMail組件中為什么Message、Folder和Store都被定義為抽象類?我們如何取得它們相應的實例對象。
          答:JavaMail API定義了一個用來管理郵件的通用接口,并且JavaMail允許程序員通過API里的接口來撰寫自己的應用程序,執行時再請求使用某種類型的處理。這樣程序員采用JavaMail編寫郵件消息收發程序具有適應于任何郵件服務器的通用性和跨平臺的優點。Message類我們一般使用其相應的子類MimeMessage創建實例,Store類實例用Session的getStore()方法取得,Folder類實例用Store的getFolder()方法取得。
          注:寫本隨筆之前,我調試了三個例子(6個文件),篇幅較長,不再往上貼了,誰若需要,可以給我留言,注上郵箱,我會給你寄過去。

          Feedback

          # re: jsp程序設計:JavaMail  回復  更多評論   

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

          # re: jsp程序設計:JavaMail  回復  更多評論   

          2010-03-17 22:33 by yz
          呵呵謝謝啊~~
          主站蜘蛛池模板: 石嘴山市| 百色市| 周口市| 东兰县| 中山市| 宜都市| 沙湾县| 平泉县| 德化县| 新乡市| 禹州市| 高唐县| 綦江县| 鹤山市| 方城县| 平阳县| 余江县| 任丘市| 长宁县| 洛阳市| 凤城市| 岚皋县| 余江县| 马公市| 新化县| 涞源县| 隆安县| 玉门市| 仪征市| 合阳县| 石狮市| 英山县| 安西县| 凤城市| 崇义县| 海盐县| 福州市| 连城县| 昆山市| 隆化县| 西吉县|