- Spegnimento
- 26 aprile 2026 alle ore 04:19 UTC
- Autore
- Kamo
- Impegno
- 5616354
JavaMail può restituire un IMAPInputStream invece di uno String decodificato da part.getContent() quando il contenuto del messaggio non è stato pre-fetched. The getti diretti (String) in parseMultipart() ha lanciato ClassCastException per messaggi colpiti, causando fetchFullMessage a fallire prima mark-as-read è stato chiamato, quindi le e-mail non sono mai state contrassegnate leggere in modalità classica. Aggiungere parteContentAsString() helper che controlla l'istanza di String prima, poi torna a leggere un InputStream con il set di beneficenza della parte. Aggiungi estrattoCharset() per parse charset da Content-Type header. Modifica parseMultipart() per utilizzare l'helper per tutte le parti del corpo del testo/*. Aggiungi anche il ramo di InputStream per ottenereMessage() per i messaggi in singola parte il cui contenuto arriva come flusso grezzo.