У меня есть рабочий код, который загружает сообщения из учетной записи pop3 и обрабатывает их. Теперь хочу записать их в отдельные файлы и обрабатывать на ночь. Для этого использую Message.writeTo(FileOutputStream) и работает, получаю кучу файлов.
Теперь я хочу их прочитать и обработать, но не могу создать сообщение или MimeMessage из файла или FileInputStream, и нет метода Message.readFrom(FileInputStream).
Я могу читать из файлов eml, но для создания сообщения с помощью этого конструктора MimeMessage(javax.mail.Session session,java.io.InputStream is) требует сеанса, и я не могу создать новый.
Все примеры в Интернете показывают, как использовать writeTo(), отправлять почту, получать почту и создавать почту с использованием жестко закодированных данных, но ни один не говорит, как читать из файла.
Как я могу создать новое сообщение из файла writeTo()?
Я попытался использовать нулевой сеанс, но получил исключение NullPointerException. Не пробовал с пустой сессией. Мне не нужно отправлять сообщения, я обрабатываю их только ночью (извлекаю вложения в формате Excel, конвертирую их и вставляю данные в систему)




Почему вы не можете «создать новый»? Просто создайте новый пустой сеанс (например,
Session.getInstance(new Properties())), если вам нужно только его загрузить, или создайте правильно заполненный сеанс, если вам также нужно его отправить.