if (message[i].getFlags().toString().equals("javax.mail.Flags@0")||message[i].getFlags().toString().equals("javax.mail.Flags@10")){
                        out_flag[0]=true;
                }else if(message[i].getFlags().toString().equals("javax.mail.Flags@20")){
                         out_flag[0]=false;
                }

解决方案 »

  1.   

    我在邮箱里有两封邮件是未阅读的,两封是已经阅读的,但用输出
    message[i].getFlags().toString()的结果都是"javax.mail.Flags@0",好像这方法不好用。
      

  2.   

    据我所知,JAVAMAIL的API里的POP3方法只支持Flags.Flag.DELETE这个标志,如果你是用POP3来收信的话,你需要另想办法了。我在JGURU里看到有人这样回复这个问题:
    1、用POP3收完信后把服务器上的信都删了。
    2、在客户端记录收信的情况,和以前的记录做比较从而知道哪些信是新的希望做过的朋友指教!
      

  3.   

    我给你的方法绝对没有问题,经过多人证实了。
    我用的是imap收信
      

  4.   

    呵呵,我不好,我查了jdk docs,果然pop3不支持,我测试的是sina的邮箱,只有pop3,没办法了。
    btw,jguru里的问题是我刚问的,难道已经有回答了?大概早有人问过了。
    谢谢。