我在JavaMail 1.4.4中解析一些POP3消息时遇到了一个奇怪的问题 - Java 1.4,也在Java 1.6中。
我正在解析从Windows 2003 POP3服务邮箱中检索到的com.sun.mail.pop3.POP3Message
。当我通过getAllHeaderLines()
枚举并将它们与源消息进行比较时,我发现在电子邮件中间地址中删除了Reply-To标题,并且所有剩余的标题都丢失了(特别是Subject,To,In-Reply-To ,MIME-Version,Contact-Type,Return-Path和X-OriginalArrivalTime)。 getContentType()
方法返回text / plain,getContent()
方法将整个multipart / mixed消息作为String返回。
当我打开JavaMail调试模式时,关于消息的一切看起来都很正常并与源消息文件匹配。
任何想法都会受到赞赏。
以下是POP3邮箱中源邮件文件的片段:
Message-ID: <1345995532.54860.YahooMailNeo@web111910.mail.gq1.yahoo.com>
Date: Sun, 26 Aug 2012 08:38:52 -0700
From: Secure Comfort <securecomforttransportation@ymail.com>
Reply-To: Secure Comfort <securecomforttransportation@ymail.com>
Subject: Language & Transportation Service
To: "xxxxxx@xxxxxx.com"
< xxxxxx @ xxxxxx.com>
In-Reply-To: <1345995390.53486.YahooMailNeo@web111908.mail.gq1.yahoo.com>
MIME-Version: 1.0
Content-Type: multipart/mixed;
boundary="1816409020-1433069823-1345995533=:54860"
Return-Path: securecomforttransportation@ymail.com
X-OriginalArrivalTime: 26 Aug 2012 15:39:22.0287 (UTC) FILETIME=[F6D67BF0:01CD83A0]
--1816409020-1433069823-1345995533=:54860
Content-Type: multipart/alternative;
boundary="1816409020-520494517-1345995533=:54860"
--1816409020-520494517-1345995533=:54860
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
以下是MimeMessage的大多数获取者:
Content ID=null
Content Language=null
Content MD5=null
Content Type=text/plain
Data Handler=javax.mail.internet.MimeBodyPart$MimePartDataHandler
Description=null
Disposition=null
Encoding=null
File Name=null
Line Count=-1
Message ID=<1345995532.54860.YahooMailNeo@web111910.mail.gq1.yahoo.com>
Received Date=null
Sent Date=Sun Aug 26 10:38:52 CDT 2012
Size=7480850
Subject=null
答案 0 :(得分:0)
JavaMail的调试输出显示了什么? (如果您不想在此发布,请通过javamail_ww@oracle.com发送给我。)
JavaMail中没有标头大小限制。
可能你有一个防火墙或防病毒软件拦截与服务器的对话,并且(不小心)在邮件标题中引入了这个中断。