KamoCRM

Handle IMAPInputStream in getMessage pentru a preveni ClassCastException

FixEmailService
Shipped
26 aprilie 2026 la 04:19 UTC
Author
Kamo
Commit
5616354

JavaMail poate returna un IMAPInputStream în loc de un string decodat de la part.getContent() atunci când conținutul mesajului nu a fost pre-inventat. ă mulaje directe (șir) în parseMultipart () aruncat ClassCastException for mesaje afectate, ceea ce determină aducerea message pentru a eșua înainte de marca-ca-citit a fost numit, astfel încât e-mailuri nu a fost marcat citit în modul clasic. Adăugați o parteContentAsString() ajutor care verifică prima instanță de string, apoi cade înapoi la citirea unui InputStream cu charset partea lui. Adăugați extractCharset() pentru a extrage charset din antet de tip Content. Actualizați parseMultipart() pentru a utiliza ajutorul pentru toate părțile corpului text / *. Adăugați, de asemenea, InputStream ramura la nivelul superior getMessage () parsing corp pentru mesajele monopartite al căror conținut ajunge ca flux brut.

All changes

Like what you see shipping?

All of it arrives in your workspace on its own. Start on the free plan and read this page again in a month.

Start Free ForeverView Pricing