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

getting Missing Start Boundary in javax.mail.multipart

我正在尝试使用 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)

感谢任何帮助。

这个问题可以通过 MimeMultipart 的两个属性来解决... 我也有同样的问题,我解决了它:

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 时。它对我有用。