日期:2014-05-20  浏览次数:20775 次

java mail 使用pop3的协议怎么判断新邮件
java mail 使用pop3的协议怎么判断新邮件
目前使用了flag来判断可是取出来的值都为0,没有一封为新邮件。
public boolean isNew() throws MessagingException {  
  boolean isnew = false;  
  Flags flags = ((Message) mimeMessage).getFlags();  
  Flags.Flag[] flag = flags.getSystemFlags();  
  System.out.println("flags's length: " + flag.length);  
  for (int i = 0; i < flag.length; i++) {  
  if (flag[i] == Flags.Flag.SEEN) {  
  isnew = true;  
  System.out.println("seen Message.......");  
  break;  
  }  
  }  
  return isnew;  
  }  
在网上找了一下相前的资料说是pop3并不支持这种方法,只能是吧邮件的uid取出来,然后进行比较如果UID存在说明是读过的邮件,不存在说明是新邮件。除了这种思路还有没有更好的解决方法。最好是能给我代码,谢谢先。

------解决方案--------------------
判断新邮件必须同已经收取的邮件相比较。
------解决方案--------------------
吧邮件的获取邮件时判断UID是否存在于文件中,存在说明不是新邮件,如不存在说明是新邮件。基本思路就是这样