Javamail Pop3 删除邮件出问题

nuelaleo 2008-01-07 10:13:51
用javamail 类库来写web mail程序,经常要用到指删除邮件,调用setFlag()后,我马上close了folder并且跳转到邮件列表页面,此时经常会抛出"javax.mail.MessageRemovedException"异常,我考虑了一下,可能是以下原因:

在POP3,当调用setFlag()后,mail服务器并不是马上删除邮件,而是当folder被close的时候才去删除被标识为"DELETED"的邮件,如果删除的量比较大的话,它需要一会儿时间,此时页面已经跳转到邮件列表,有些已经被标识为"DELETED"但未被删除的邮件又被取了出来,但当你要显示它的时候,刚好被删除,于是就抛出此异常.

小弟也尝试了调用close后睡眠几秒钟,但删除少量邮件跟大量邮件的时间并不一样,并不是解决的根本方法.
所以想请教各位大侠有何方法赐教,谢谢!
...全文
344 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
hanfengthinker 2008-01-09
  • 打赏
  • 举报
回复
顶呀
goodmrning 2008-01-08
  • 打赏
  • 举报
回复
帮顶
老紫竹 2008-01-07
  • 打赏
  • 举报
回复
删除就是删除了,没有办法。

你唯一能做的,就是捕获这种异常,不显示任何信息,继续处理下一封邮件。
适用人群通用各大网易系,腾讯QQ系,新浪系,阿里系等主流邮箱;同时也适用于企业开发的企业邮箱,进行收件和发件。课程概述通用各大网易系,腾讯QQ系,新浪系,阿里系等主流邮箱;同时也适用于企业开发的企业邮箱,进行收件和发件。POP3是Post Office Protocol 3的简称,即邮局协议的第3个版本,它规定怎样将个人计算机连接到Internet的邮件服务器和下载电子邮件的电子协议。它是因特网电子邮件的第一个离线协议标准,POP3允许用户从服务器上把邮件存储到本地主机(即自己的计算机)上,同时删除保存在邮件服务器上的邮件,而POP3服务器则是遵循POP3协议的接收邮件服务器,用来接收电子邮件的SMTP 的全称是“Simple Mail Transfer Protocol”,即简单邮件传输协议。它是一组用于从源地址到目的地址传输邮件的规范,通过它来控制邮件的中转方式。SMTP 协议属于 TCP/IP 协议簇,它帮助每台计算机在发送或中转信件时找到下一个目的地。SMTP 服务器就是遵循 SMTP 协议的发送邮件服务器。   SMTP 认证,简单地说就是要求必须在提供了账户名和密码之后才可以登录 SMTP 服务器,这就使得那些垃圾邮件的散播者无可乘之机。。【开发者如何进行快速开发邮件发送系统???本课程系统进行快速研发,项目实战】 部分截图如下:完整版请查看课件或者视频

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧