Maneje IMAPInputStream en getMessage para prevenir ClassCastException

FixEmailService
Se descapó
26 de abril de 2026 a las 4:19 UTC
Autor
Kamo
Compromit
5616354

JavaMail puede devolver un IMAPInputStream en lugar de una cuerda decodificada de la part.getContent() cuando el contenido del mensaje no ha sido preaver. El los lanzados directos (String) en parMultipart() arrojaron ClassCastException para mensajes afectados, causando que gottchFullMessage falle antes de marcar como lectura se llamaba, por lo que los correos electrónicos nunca se leyaron en modo clásico. Añadir parteContentAsString() ayudante que comprueba la instancia de la String primero, Luego vuelve a leer un InputStream con el charset de la pieza. Añadir ExtractCharset() para parse charset de la cabecera Content-Type. Par de actualizaciónMultipart() para usar el ayudante para todas las partes del cuerpo de texto/*. También añadir la rama de InputStream a get-level getMessage() body parsing para mensajes de una sola parte cuyo contenido llega como flujo crudo.

Todos los cambios

Como lo que ves enviaste?

Cada una de estas actualizaciones aterriza en su espacio de trabajo automáticamente. Empieza gratis y verlo crecer semana tras semana.

Arranzar gratis para siempreVer Precios