最近项目组要做一个web办的邮件客户端。一切都ok,但是却总是发现,接受邮件的时候,邮件的发送时间(Message.date)总是当期时间。i个同事研究了好阵子没有搞定,只好出马了。记得开始帮同事看的时候,曾发现一个奇怪的现象,开始是正确的,但是在后边的代码中会悄悄改掉,当时就很是奇怪,但是没有深究,因为还有更重要的事情要做。做到最后了,这个问题必须要解决了。同事百度了下,发现也有人问同样的问题但是没有答案。
最简单的和最直接的方式就是调试。
1,连接
2,遍历每个邮件,此时查看邮件的date,是正确的,确实是邮件的发送时间。
3,然后一步步跟下去,发现在访问 message.MailData的时候,Message.Date忽然变成了当前日期!!
原因找到了。这也行是JMail的一个bug,不深究他的原因了。
4,知道了原因,解决方法也很简单,就是在访问message.MailData前,吧Message.Date备份下来,OK!
本文介绍了一个关于使用JMail库开发web版邮件客户端时遇到的问题:接收到的邮件显示的时间被错误地替换为当前时间。通过调试发现了问题的原因,并提供了解决方案,即在访问特定数据之前备份原始邮件时间。
904

被折叠的 条评论
为什么被折叠?



