【问题标题】:How to know if message is read or not如何知道消息是否已读
【发布时间】:2012-06-28 13:59:01
【问题描述】:

我正在理解 javax.mail 以阅读电子邮件帐户并获取所有收到的消息。 这是一个例子:

Properties properties = System.getProperties();  
         properties.setProperty("mail.store.protocol", "imaps");  
             try {  
                 Session session = Session.getDefaultInstance(properties, null);
                 //create session instance
                 Store store = session.getStore("imaps");//create store instance  
                 store.connect("pop.gmail.com", "mail@gmail.com", "***");  
                 //set your user_name and password 
                 System.out.println(store);   
                 Folder inbox = store.getFolder("inbox");
                 //set folder from where u wants to read mails  
                 inbox.open(Folder.READ_ONLY);//set access type of Inbox  
                 Message messages[] = inbox.getMessages();// gets inbox messages

                 for(Message message:messages) {
                 System.out.println(message.getContent().toString());  
             }
                 store.close();
              } catch (Exception e) {  
             System.out.println(e);    
         }  

我的问题是:

Message messages[] 可以知道消息是否是新消息?比如:

for(Message message: messages){
   if(message.isNew()) OR if(!message.isRead()){
      System.out.println("Message is not still read");
   }
}

有人可以帮助我吗?谢谢!!!

【问题讨论】:

标签: java jakarta-mail


【解决方案1】:

把它放在你的代码中

Folder inbox = store.getFolder("inbox");
inbox.open(Folder.READ_ONLY);
// search for all "unseen" messages
Flags seen = new Flags(Flags.Flag.SEEN);
FlagTerm unseenFlagTerm = new FlagTerm(seen, false);
Message messages[] = inbox.search(unseenFlagTerm);


if (messages.length == 0) System.out.println("No messages found.");

一个很好的教程可以找到here

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-10-24
    • 2017-08-12
    • 1970-01-01
    • 1970-01-01
    • 2010-10-01
    • 1970-01-01
    • 2021-10-07
    • 1970-01-01
    相关资源
    最近更新 更多