对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的代码如下:
由于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])); }
相关文章推荐
- 垃圾邮件过滤器 python简单实现
- 邮箱网站不能用mail.xxx.com:8888的方式访问原因
- hotmail,MSN 邮箱无法登陆的解决方法 秘密通道
- 用ASP.NET做的个性化的邮件发送系统
- sqlserver数据库使用存储过程和dbmail实现定时发送邮件
- Jmail组件发送邮件之绝对能用的函数
- 我的群发邮件程序
- smtp邮件发送一例
- 用PHP发电子邮件
- JSP发送邮件实例
- 给多个地址发邮件的类
- python发送邮件示例(支持中文邮件标题)
- php 邮件发送问题解决
- 使用sqlserver存储过程sp_send_dbmail发送邮件配置方法(图文)
- Ajax实时验证用户名/邮箱等是否已经存在的代码打包
- php email邮箱正则
- 基于python发送邮件的乱码问题的解决办法
- Outlook大邮件归档转储办法
- 备份outlook的时候,请不要忘记同时备份Outlook.NK2文件
- python django 关于出错自动发送邮件