做个数据库,保存受到的邮件的”MESSAGE-ID“。
以后每次受POP3邮件都查看数据库是否有“MESSAGE-ID”,有则不是新的,没有就是旧的。
保存邮件建议用BLOB
以后每次受POP3邮件都查看数据库是否有“MESSAGE-ID”,有则不是新的,没有就是旧的。
保存邮件建议用BLOB
解决方案 »
- 新手问题:关于循环语句执行
- 关于类的转载,能不能这样理解??
- 随即生成中文词组
- 怎样统计数组中数的个数?
- 请高手解释下 为什么 我
- 精简jre
- 电脑里已安装Eclipse 3.3,请问如何安装swing控件作GUI相关开发?
- CSDN没有人会!java到底能不能处理windows注册表 除了HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Prefs以外的
- 小弟KANGTA问题,付程序代码!
- 请问要判断在一个字符串中是否含有某一个单词该用哪个函数?菜问题,请教
- 存储过程问题?
- 请问:tomcat服务器设置中在那里(我的操作系统是win2000)设置set tomcat_home=c:\jakarta-tomcat?
2. 并不是每一封邮件都有 Message-ID 的。通用的做法是,先取得所有邮件的 UIDL 列表,然后保存这些 UIDL 列表,下次登陆时再从 POP SERVER 上把这个 UIDL 列表取出来与保存在本地的对照,如果发现新的 UIDL 时,再根据这些新的 UIDL 取得那些邮件。
有没有办法把mail从服务器上取下来,这样下次每次收到的信都是新邮件了,呵呵
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;
}
有些类是 sun 封装了的,并不提倡让你直接使用的,如果你要找的话,可以在某个 jar 里找到相应的 class,因为以后可能有改动,你看到的只是统一的结口,比如说 Folder。
这是偶很早以前代码,有好久没有看过了,你可以改进一下。