2016-03-21 10 views
0

を使用して電子メールをアーカイブするにはどうすればよいのI /店舗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を使用してメッセージをアーカイブフォルダにコピーし、元のメッセージをDELETEDとしてMessage.setFlagを使用してマークします。

関連する問題