获取javax.mail.multipart中缺少的开始边界

获取javax.mail.multipart中缺少的开始边界,java,jakarta-mail,Java,Jakarta Mail,我正在尝试使用java邮件API阅读电子邮件 当我尝试从多部分中获取计数时,如下所示: multipart.getCount() 我得到以下例外情况: javax.mail.MessagingException: Missing start boundary at javax.mail.internet.MimeMultipart.parsebm(MimeMultipart.java:872) at javax.mail.internet.MimeMultipart.pars

我正在尝试使用java邮件API阅读电子邮件

当我尝试从多部分中获取计数时,如下所示:

multipart.getCount()
我得到以下例外情况:

javax.mail.MessagingException: Missing start boundary

    at javax.mail.internet.MimeMultipart.parsebm(MimeMultipart.java:872)
    at javax.mail.internet.MimeMultipart.parse(MimeMultipart.java:493)
    at javax.mail.internet.MimeMultipart.getCount(MimeMultipart.java:240)

非常感谢您的帮助。

这个问题可以通过MiMemMultipart拥有的两个属性来解决。。。 我也有同样的问题,我通过以下方式解决了它:

System.setProperty("mail.mime.multipart.ignoreexistingboundaryparameter", "true");
System.setProperty("mail.mime.multipart.allowempty", "true");
阅读MimeMulutiPart.java时,您会发现5个属性:


 1. mail.mime.multipart.ignoremissingendboundary(def. true)
 2. mail.mime.multipart.ignoremissingboundaryparameter(def. true)
 3. mail.mime.multipart.ignoreexistingboundaryparameter(def. false)
 4. mail.mime.multipart.allowempty(def. false)
 5. mail.mime.multipart.bmparse(def. true)


当我尝试将剩余的false设置为true时。这对我很有用。

你能同时添加代码吗?我猜这封电子邮件不是一个多部分文档。你试过了吗?这能回答你的问题吗?该错误表明您试图阅读的电子邮件已损坏,或者至少不符合RFC要求。如果没有,我们无法真正帮助您。请注意,这些属性都是错误编码消息的变通方法。只要有可能,您应该修复发送程序以正确编码消息。