隨筆-86  評論-33  文章-0  trackbacks-0
          import  javax.mail.Store;
          import  javax.mail. * ;
          import  java.io.BufferedReader;
          import  java.io.InputStreamReader;
          import  java.io. * ;
          /**
           * 
           * <p>Title: JavaMail</p> 
           * <p>Description:收取郵件 </p> 
           * <p>Copyright: Copyright (c) 2005</p> 
           * 
          @author  Derek.G
           * 
          @version  1.0
           * 收取郵件:
              1.獲取一個會話;
              2.獲取并連接郵箱所在的存儲器(Store對象),打開該用戶的郵箱;
              3.獲取所希望閱讀的消息;
              4.關閉目錄和連接。
           
          */
          public   class  ReadMail  extends  MailProcessBase{
           
          // 初始化主機
            String host = " pop3.usish.com " ;
            String username
          = " derek_g " ;
            String password
          = " 12140827 " ;
            
          public  ReadMail()  throws  Exception {
              
          super ();
            }

            
          public   void  readMail(){
            
          try  {
              
          // 獲取Store對象,使用POP3協議,也可能使用IMAP
              System.out.println( " 獲取Store對象 " );
              Store store 
          =  mailSession.getStore( " pop3 " );
              
          // 連接到郵件服務器
              System.out.println( " 連接到郵件服務器 " );
              store.connect(host, username, password);
              
          // 獲取該用戶Folder對象,并以只讀方式打開
              System.out.println( " 獲取該用戶Folder對象 " );
              Folder folder 
          =  store.getFolder( " INBOX " );
              folder.open(Folder.READ_ONLY);
              
          // 檢索所有郵件,按需填充
              System.out.println( " 檢索所有郵件 " );
              Message message[] 
          =  folder.getMessages();
              
          // 遍歷每一個郵件
              System.out.println( " 遍歷每一個郵件 " );
              BufferedReader reader 
          =   new  BufferedReader( new  InputStreamReader(System.in));
              
          for  ( int  i  =   0 , n  =  message.length; i  <  n; i ++ ) {
                
          // 打印每個郵件的發件人和主題
                System.out.println(i  +   " "   +  message[i].getFrom()[ 0 +   " \t "   +
                                   message[i].getSubject());
                
          // 是否讀取該消息
                System.out.println( " 是否讀取消息內容? "   +   " [YES讀取 / QUIT結束] " );
                String line 
          =  reader.readLine();
                FileOutputStream fos 
          =   new  FileOutputStream( " c:\\mail.txt " );
                
          if (line.equals( " YES " )) {
                  message[i].writeTo(fos);
          // 這種方式只能顯示文本消息
                  System.out.println(message[i].getContent());
                }
                  
          else   break ;
              }
              System.out.println(
          " 收取郵件完畢! " );
              folder.close(
          false );
              store.close();
            }
            
          catch  (NoSuchProviderException ex) {ex.printStackTrace();}
            
          catch  (MessagingException ex) {ex.printStackTrace();}
            
          catch  (IOException ex) { ex.printStackTrace(); }

            }
            
          public   static   void  main(String[] args) {
            
          try  {
              
          new  ReadMail().readMail();
            }
            
          catch  (Exception ex) {ex.printStackTrace(); }
            }
          }
          posted on 2006-03-24 17:03 Derek.Guo 閱讀(336) 評論(0)  編輯  收藏 所屬分類: Java
          MSN:envoydada@hotmail.com QQ:34935442
          主站蜘蛛池模板: 喀什市| 六盘水市| 新绛县| 四子王旗| 玛纳斯县| 平度市| 阆中市| 简阳市| 旺苍县| 抚松县| 大连市| 阆中市| 阿荣旗| 修文县| 山东省| 新闻| 攀枝花市| 政和县| 乐业县| 太原市| 清流县| 同江市| 岑巩县| 华池县| 普陀区| 宁远县| 隆安县| 梁平县| 无极县| 澎湖县| 琼中| 贡嘎县| 宜宾市| 阳江市| 广州市| 榕江县| 泌阳县| 四平市| 嘉峪关市| 凤山县| 乌审旗|