您的位置:首页 > 运维架构

对POP3邮箱中的新邮件的判断方法

2014-04-04 16:31 211 查看
http://lqixv.iteye.com/blog/563247

由于pop3协议不支持对已读未读邮件的标记,因此,要判断一封pop邮箱中的邮件是否是新邮件必须与邮件客户端联合起来才能做到。其原理是,每个服务器都会给每封邮件产生一个唯一的uid,客户端把读到的uid与本地保存的uid比较,如果本地没有这个uid,则这封邮件是新的,否则就是旧邮件。一般的邮件客户端,如 outlook express、foxmail等,都是用这种方法实现的。大约步骤如下:

客户端读取邮箱里所有邮件的 uid 列表(通过命令 UIDL 可以查看);
把uid列表与本地保存的uid列表相比较;
如果本地已存在,则比较下一个邮件uid;
如果本地不存在此uid,则下载此邮件,并保存此邮件的uid在本地;
获取uid的代码如下:

POP3Folder folder = (POP3Folder)store.getFolder("INBOX");
folder.open(Folder.READ_ONLY);
Message message[] = folder.getMessages();
for (int i = 0; i < message.length; i++) {
System.out.println(folder.getUID(message[i]));
}


 

 

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  邮箱 邮件 pop3