У меня есть приложение, в котором я читаю электронные письма из почтового ящика и преобразовываю их в MimeMessage для дальнейшей обработки. Однако я получаю исключение, когда письмо содержит большое вложение размером около 40 Мб. Ниже приведен код, который я использую.
Message[] messages = null;
Folder folder = emailServerConnection.getFolder();
messages = folder.getMessages();
List<Email> messageList = new ArrayList<>();
for (Message message : messages)
{
try
{
//Below line throwing FolderClosedException
MimeMessage mimeMessage = new MimeMessage((MimeMessage) message);
OutputStream outputStream = new ByteArrayOutputStream();
mimeMessage.writeTo(outputStream);
JavaMailEmail email = new JavaMailEmail(mimeMessage, message);
messageList.add(email);
}
catch (MessagingException ex)
{
_loggingHelper.debug(ex, "Problem reading an email. Marking it as an email to delete.");
message.setFlag(Flag.DELETED, true);
}
}
Эта проблема возникает только в том случае, если мое электронное письмо имеет большое вложение (40 Мб)
Exception:
javax.mail.MessagingException: IOException while copying message;
nested exception is:
com.sun.mail.util.FolderClosedIOException
Любая помощь или указатель будут оценены.