在pop3服务器上找到新的邮件
在得到 Message 信息列表的时候采用如下方式,然后再用偶下面那个函数来取得每一封邮件的 UID。保存起来,在下一次 Log on 的时候,再像这样取得 pop3 folder 里面的 UID 和存起来的比较,如果有新的 UID,则可判别有新邮件。
FetchProfile fp = new FetchProfile();
fp.add(UIDFolder.FetchProfileItem.UID);
//UIDFolder.FetchProfileItem.ENVELOPE;
this.msgs = folder.getMessages();
folder.fetch(msgs, fp);
public String getUIDArr()[]{
ErrMsg = null;
if (this.messageCount <=0
|| !(this.folder instanceof POP3Folder))
return null;
if (this.uidArr != null) return this.uidArr;
POP3Folder pf = (POP3Folder)this.folder;
String[] rtnVal = new String[this.messageCount];
try{
for (int i=0;i<this.messageCount;i++){
rtnVal[i] = pf.getUID(msgs[i]);
if (rtnVal[i] == null) return null;
}
}catch(MessagingException e){
this.ErrMsg = "Error on getting UID list";
return null;
}
this.uidArr = rtnVal;
return rtnVal;
}
在得到 Message 信息列表的时候采用如下方式,然后再用偶下面那个函数来取得每一封邮件的 UID。保存起来,在下一次 Log on 的时候,再像这样取得 pop3 folder 里面的 UID 和存起来的比较,如果有新的 UID,则可判别有新邮件。
FetchProfile fp = new FetchProfile();
fp.add(UIDFolder.FetchProfileItem.UID);
//UIDFolder.FetchProfileItem.ENVELOPE;
this.msgs = folder.getMessages();
folder.fetch(msgs, fp);
public String getUIDArr()[]{
ErrMsg = null;
if (this.messageCount <=0
|| !(this.folder instanceof POP3Folder))
return null;
if (this.uidArr != null) return this.uidArr;
POP3Folder pf = (POP3Folder)this.folder;
String[] rtnVal = new String[this.messageCount];
try{
for (int i=0;i<this.messageCount;i++){
rtnVal[i] = pf.getUID(msgs[i]);
if (rtnVal[i] == null) return null;
}
}catch(MessagingException e){
this.ErrMsg = "Error on getting UID list";
return null;
}
this.uidArr = rtnVal;
return rtnVal;
}