Menangani IMAPInputStream dalam getMessage untuk mencegah Eksepsi Kelas

FixEmailService
Dikirim
26 April 2026 pukul 04.19 UTC
Penulis
Kamo
Commit
5616354

JavaMail dapat mengembalikan IMAPInputStream daripada String yang diterjemahkan dari part.getContent () ketika isi pesan belum pernah ada sebelumnya. The straight (String) cast dalam parseMultipart () melemparkan classCastException untuk pesan yang terpengaruh, menyebabkan fetchFullMessage gagal sebelum mark-as- baca dipanggil, jadi email tidak pernah ditandai membaca dalam mode klasik. Tambahkan partContentiAsString () pembantu yang memeriksa instanceof String pertama, lalu kembali membaca InputStream dengan charset. Tambahkan extratCharset () untuk mengurai charset dari header Content- Type. Mutakhirkan bagian Multipart () untuk memakai pembantu untuk semua bagian tubuh teks / *. Juga tambahkan cabang InputStream ke tingkat atas getMessage () parsing tubuh untuk pesan single- bagian yang isinya tiba sebagai stream mentah.

Semua perubahan

Seperti apa yang Anda lihat pengiriman?

Semua pembaruan ini secara otomatis mendarat di ruang kerja Anda. Mulai bebas dan menontonnya tumbuh minggu demi minggu.

Mulai Bebas SelamanyaTampilkan Harga