2016-03-21 83 views
0

電子郵件歸檔我需要歸檔/存儲Gmail電子郵件形式的Java,但我只知道把它放在讀/未讀...我如何使用的javax郵件

這裏是我的代碼:

public class CheckingMails { 

private static Session session = null; 
private static Store store = null; 
private static Folder inbox = null; 

    public static void check(String host, String storeType, final String user, 
     final String password) 
    { 
     try { 
      Properties properties = new Properties(); 
      properties.setProperty("mail.host", "imap.gmail.com"); 
      properties.setProperty("mail.port", "995"); 
      properties.setProperty("mail.transport.protocol", "imaps"); 
      session = Session.getInstance(properties,new javax.mail.Authenticator() { 
       protected PasswordAuthentication getPasswordAuthentication() { 
        return new PasswordAuthentication(user, password); 
       }}); 
      store = session.getStore("imaps"); 
      store.connect(); 
      inbox = store.getFolder("INBOX"); 
      inbox.open(Folder.READ_WRITE); 
      Message messages[] = inbox.search(new FlagTerm(new Flags(Flag.SEEN), false)); 
      for (int i = 0; i < messages.length; i++) { 
       if(messages[i].getSubject().contains("Ticket#")){ 
        System.out.println("Number of Ticket = " + messages.length); 
        messages[i].setFlag(Flag.SEEN, true); 
       } 

      } 
      inbox.close(true); 
      store.close(); 

     } catch (NoSuchProviderException e) { 
     e.printStackTrace(); 
     } catch (MessagingException e) { 
     e.printStackTrace(); 
     } catch (Exception e) { 
     e.printStackTrace(); 
     } 
    } 

有人可以解釋我如何存檔它?

回答

0

我假設「歸檔它」的意思是「將其移動到服務器上的歸檔文件夾」。

使用Folder.copyMessages將郵件複製到存檔文件夾,然後使用Message.setFlag將原始郵件標記爲DELETED。

相關問題