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;
                }
true:为新邮件

解决方案 »

  1.   

    我试了,可是无论是已收到邮件,还是没有收到邮件,message[i].getFlags().toString()得到的值都是:javax.mail.Flags@0 ,好像没法实现不删除服务器上的邮件,同时还不在下一次重复接收已收过的邮件呀!!?
      

  2.   

    不同的邮件服务器对FLAG的支持是不同的,所以我做javamail时用javamail+数据库做的,
      

  3.   

    我也是用javamail+数据库做的,要是检查比较数据库中的和服务器上的邮件内容的话,启不要都要对比一下才能知道是否为新邮件啊,效率上且不说,要是你删除了数据库的相关数据,那还不是要重复接收一次呀