java - 在 javax.mail.multipart 中获取缺少开始边界

标签 java jakarta-mail

我正在尝试使用 java mail 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 时。它对我有用。

关于java - 在 javax.mail.multipart 中获取缺少开始边界,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61052902/

相关文章:

java - 计算方法的 Big-O

Java 如何从用户计算机发送电子邮件/短信

java - 在 p :dialog 中使用 JSF 解析 HTML

JavaMail - Corkscrew - http 代理

java - 使用 Apache 邮件发送电子邮件不会保存在已发送文件夹中

java - Google Guava 缓存当前正在使用的字节数?

java - 如何在 Windows 中将 PostgreSQL 作为服务运行?

java - 我想在 Android Studio 中将文件类型转换为 PdfDocument 类型

java - Flink : java. io.NotSerializedException : redis.clients.jedis.JedisCluster

java - 文本文件编码为UTF_8?