当前位置: 技术问答>java相关
javamail对新邮件的处理
来源: 互联网 发布时间:2015-02-01
本文导语: pop3邮件,想要达到当有新邮件时进行通知的功能,有没有什么解决方法或思路? 现在做的程序,没法标记是否为新邮件或已读,每次收邮件,都是那几封邮件,有没方法 在收到信后,下次再收时,只收没收过的信呀...
pop3邮件,想要达到当有新邮件时进行通知的功能,有没有什么解决方法或思路?
现在做的程序,没法标记是否为新邮件或已读,每次收邮件,都是那几封邮件,有没方法
在收到信后,下次再收时,只收没收过的信呀?
还有,对收过的信怎么保存?以什么方式存Message数据比较好呢?
是不是问题太乱了点?
哪位老大为小弟指点迷津?
现在做的程序,没法标记是否为新邮件或已读,每次收邮件,都是那几封邮件,有没方法
在收到信后,下次再收时,只收没收过的信呀?
还有,对收过的信怎么保存?以什么方式存Message数据比较好呢?
是不是问题太乱了点?
哪位老大为小弟指点迷津?
|
1. 如果你的邮件很多的话,对每一封邮件都取 Message-id 将占用较多的时间和资源,因为它需要把每一封邮件的 Header 全部 Donwload 下来再取得 Message-ID 头。
2. 并不是每一封邮件都有 Message-ID 的。
通用的做法是,先取得所有邮件的 UIDL 列表,然后保存这些 UIDL 列表,下次登陆时再从 POP SERVER 上把这个 UIDL 列表取出来与保存在本地的对照,如果发现新的 UIDL 时,再根据这些新的 UIDL 取得那些邮件。
2. 并不是每一封邮件都有 Message-ID 的。
通用的做法是,先取得所有邮件的 UIDL 列表,然后保存这些 UIDL 列表,下次登陆时再从 POP SERVER 上把这个 UIDL 列表取出来与保存在本地的对照,如果发现新的 UIDL 时,再根据这些新的 UIDL 取得那些邮件。
|
做个数据库,保存受到的邮件的”MESSAGE-ID“。
以后每次受POP3邮件都查看数据库是否有“MESSAGE-ID”,有则不是新的,没有就是旧的。
保存邮件建议用BLOB
以后每次受POP3邮件都查看数据库是否有“MESSAGE-ID”,有则不是新的,没有就是旧的。
保存邮件建议用BLOB