JavaMail正在丢失一些POP3消息头,并将多部分/混合消息视为文本/普通消息

JavaMail正在丢失一些POP3消息头,并将多部分/混合消息视为文本/普通消息,java,jakarta-mail,pop3,email-headers,Java,Jakarta Mail,Pop3,Email Headers,我在分析JavaMail 1.4.4-Java1.4中的一些POP3消息时遇到了一个奇怪的问题,同样在Java1.6中 我正在分析从Windows 2003 pop3服务邮箱检索到的com.sun.mail.pop3.pop3消息。当我通过getAllHeaderLines()枚举并将它们与源消息进行比较时,我看到回复标题在电子邮件地址的中间被切断,所有剩余的标题都丢失了(具体来说,以MIME版本、联系人类型、返回路径和X-OriginalArrivalTime作为回复)。getContentT

我在分析JavaMail 1.4.4-Java1.4中的一些POP3消息时遇到了一个奇怪的问题,同样在Java1.6中

我正在分析从Windows 2003 pop3服务邮箱检索到的
com.sun.mail.pop3.pop3消息。当我通过
getAllHeaderLines()
枚举并将它们与源消息进行比较时,我看到回复标题在电子邮件地址的中间被切断,所有剩余的标题都丢失了(具体来说,以MIME版本、联系人类型、返回路径和X-OriginalArrivalTime作为回复)。
getContentType()
方法返回text/plain,而
getContent()
方法将整个多部分/混合消息作为字符串返回

当我打开JavaMail调试模式时,消息的所有内容看起来都很正常,并且与源消息文件相匹配

任何想法都将不胜感激

以下是POP3邮箱中源邮件文件的一个片段:

消息ID:
日期:2012年8月26日星期日08:38:52-0700
来自:安全舒适
答复:安全舒适
主题:语言与交通服务
至:xxxxxx@xxxxxx.com"

答复:
MIME版本:1.0
内容类型:多部分/混合;
boundary=“1816409020-1433069823-1345995533=:54860”
返回路径:securecomforttransportation@ymail.com
X-OriginalArrivalTime:2012年8月26日15:39:22.0287(UTC)文件时间=[F6D67BF0:01CD83A0]
--1816409020-1433069823-1345995533=:54860
内容类型:多部分/备选;
boundary=“1816409020-520494517-1345995533=:54860”
--1816409020-520494517-1345995533=:54860
内容类型:文本/纯文本;charset=“iso-8859-1”
内容传输编码:引用可打印
以下是mimessage的大多数getter:

Content-ID=null
内容语言=空
内容MD5=null
内容类型=文本/普通
Data Handler=javax.mail.internet.MimeBodyPart$MimePartDataHandler
Description=null
处置=null
编码=空
文件名=空
行计数=-1
消息ID=
接收日期=空
发送日期=2012年8月26日星期日10:38:52 CDT
尺寸=7480850
Subject=null

JavaMail的调试输出显示了什么?(如果您不想在这里发布,请通过javamail发送给我_ww@oracle.com.)

JavaMail中没有头大小限制


可能您的防火墙或防病毒软件正在拦截与服务器的对话,并且(意外地)在邮件标题中引入了此中断。

谢谢,我已经向您发送了部分日志。非常感谢您,比尔。解决方案是添加mail.pop3.disabletop=true会话属性。需要明确的是,这是由于服务器中的一个错误导致的,它正在截断TOP命令返回的数据。禁用TOP命令可以解决服务器中的错误。我也有同样的问题,只升级到最新的
javax.mail api
1.5.3解决了这个问题。