JavaMail 移动邮件到其他目录

public static void main(String[] args) throws MessagingException, IOException {
    	 String imapserver = "******"; // 邮件服务器
         String user = "*****";
         String pwd = "****";     // 根据自已的密码修改
             // 获取默认会话
             Properties prop = System.getProperties();
             prop.put("mail.imap.host",imapserver);
            // prop.put("mail.imap.auth.plain.disable","true");
             Session mailsession=Session.getInstance(prop,null);
             mailsession.setDebug(false); //是否启用debug模式
             IMAPFolder folder= null;
             IMAPFolder tobedeterminedFolder=null;
             IMAPStore store=null;
             int total= 0;
             try{
                store=(IMAPStore)mailsession.getStore("imap");  // 使用imap会话机制,连接服务器
                store.connect(imapserver,user,pwd);
                folder=(IMAPFolder)store.getFolder("INBOX"); //收件箱 
                folder.open(Folder.READ_WRITE);
               
                Message[] msgs =folder.getMessages();
                //获取总邮件数
                total = folder.getMessageCount();
                System.out.println("-----------------您的邮箱共有邮件:" + total+" 封--------------");
                // 得到收件箱文件夹信息,获取邮件列表
                System.out.println("\t收件箱的总邮件数:" + msgs.length);  
                System.out.println("\t未读邮件数:" + folder.getUnreadMessageCount());  
                System.out.println("\t新邮件数:" + folder.getNewMessageCount());  
                System.out.println("----------------End------------------");
                //注意下面这里是通过folder.getFolder("folderName");
                //用store.getFolder("folderName");我这邮箱测试不通过
                //TO-BE-DETERMINED这个文件夹是我自己建立的
                //文件夹目录结构如下:
                //INOBX
                //--Spam
                //--Drafts
                //--TO-BE-DETERMINED
                //--Trash
                //--Sent
                tobedeterminedFolder= (IMAPFolder) folder.getFolder("TO-BE-DETERMINED");
                //只测试移动一封邮件到其他目录
                for (Message message2 : msgs) {
            		System.out.println("message Folder:"+message2.getFolder().getName());
                	folder.copyMessages(new Message[]{message2}, tobedeterminedFolder);
            		message2.setFlag(Flags.Flag.DELETED, true);
                	break;
                	
                }
               
             }
             catch(MessagingException ex){
                  ex.printStackTrace();
             }finally {
            	 // 释放资源
               try{
            	   if(tobedeterminedFolder!=null && tobedeterminedFolder.isOpen()){
            		   tobedeterminedFolder.close(true);
            		   System.out.println("close....");
            	   }
                   if(folder!=null && folder.isOpen()){
                       folder.close(true); 
                   }
                  if (store != null){
                     store.close();
                  }
                 }catch(Exception bs){
                  bs.printStackTrace();
                 }             
             }     
       
    }

 

你可能感兴趣的:(移动邮件到其他文件夹,move mail)