FolderClosedException при создании MimeMessage - PullRequest
0 голосов
/ 06 февраля 2020

У меня есть приложение, в котором я читаю электронные письма из почтового ящика и преобразовываю их в 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

Любая помощь или указатель будут оценены.

...