隨筆-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 閱讀(338) 評論(0)  編輯  收藏 所屬分類: Java
          MSN:envoydada@hotmail.com QQ:34935442
          主站蜘蛛池模板: 盘山县| 准格尔旗| 台中市| 灵台县| 行唐县| 陇川县| 海兴县| 班玛县| 任丘市| 汶上县| 海口市| 宝兴县| 嘉峪关市| 土默特右旗| 县级市| 施甸县| 福贡县| 曲水县| 阳春市| 钟祥市| 安阳县| 汝南县| 磐安县| 梅河口市| 吴旗县| 玉溪市| 黄冈市| 塘沽区| 乌兰浩特市| 栾城县| 东明县| 都安| 昌图县| 营口市| 和硕县| 宝丰县| 耒阳市| 历史| 泰来县| 无为县| 岳西县|