gpt4 book ai didi

gmail - 使用 Thunderbird 发送的包含 .eml 文件的电子邮件无法加载 BODYSTRUCTURE 异常

转载 作者:行者123 更新时间:2023-12-03 05:25:46 26 4
gpt4 key购买 nike

我们有一个使用 Java Mail API 访问 Gmail 帐户 (IMAP) 的应用程序。适用于所有类型的电子邮件,但包含 .eml 文件作为附件且使用 Thunderbird 发送的邮件除外。

这是尝试检索该消息时的异常堆栈跟踪。请指教。

Caused by: com.google.code.javax.mail.MessagingException: Unable to load BODYSTRUCTURE
at com.google.code.com.sun.mail.imap.IMAPMessage.loadBODYSTRUCTURE(IMAPMessage.java:1377)
at com.google.code.com.sun.mail.imap.IMAPMessage.getContentType(IMAPMessage.java:492)

最佳答案

我成功使用 this方法。简而言之,如果您的 Message 类型为 MimeMessage 并且遇到此异常,请从原始 MimeMessage 创建一个新的 MimeMessage 实例并对其进行处理。例如,当我调用 Message 的 getContent() 方法时出现此错误,因此我编写了以下方法来获取内容:

private Object getEmailContent(Message email) throws IOException, MessagingException {
try {
return email.getContent();
} catch (MessagingException e) {
// handling the bug
if (email instanceof MimeMessage && "Unable to load BODYSTRUCTURE".equalsIgnoreCase(e.getMessage())) {
return new MimeMessage((MimeMessage) email).getContent();
} else {
throw e;
}
}
}

关于gmail - 使用 Thunderbird 发送的包含 .eml 文件的电子邮件无法加载 BODYSTRUCTURE 异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18115854/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com