- Порезанный
- 26 апреля 2026 г. в 04:19 UTC
- Автор
- Kamo
- Обещать
- 5616354
JavaMail может вернуть IMAPInputStream вместо декодированной строки Part.getContent() - когда содержание сообщения не было предварительно придумано. The Прямые (струнные) слепки в parseMultipart() бросили ClassCastException Поврежденные сообщения, в результате чего fetchFullMessage терпит неудачу перед прочтением пометки Названо было так, поэтому электронные письма так и не получили помеченного чтения в классическом режиме. Добавьте помощника partContentAsString(), который сначала проверяет экземпляр String. Затем возвращается к чтению InputStream с набором деталей. Добавить extractCharset() для разбора charset из заголовка Content-Type. Обновите parseMultipart() для использования помощника для всех текстовых/* частей тела. Также добавьте ветвь InputStream для анализа тела на верхнем уровне getMessage() для одночастных сообщений, контент которых поступает в виде необработанного потока.