Closed jfarwer closed 3 years ago
Update
The issue seems to be that the used version of the decoder QuotedPrintableCodec.decodeQuotedPrintable
does not implement the complete set of rules of the quoted-printable spec. In particular soft line breaks are not supported. Therefore if an email in an imported mbox file contains an equal sign as the last character of a line (indicating a soft line break), the decoder throws an exception. The email will then be imported without decoding. The decoder supports the full quoted-printable specification from version 1.10. Changing the version of commons-codec
from 1.5 to 1.10 in the corresponding pom file seems to solve the issue.
The problem seems to be the method
getRawInputStream()
which from v7.3 is used under some circumstances instead of getInputStream() in EmailFetcherThread.java. The decoder (inQuotedPrintableCodec.decodeQuotedPrintable(b)
) is sometimes not able to read the byte array returned bygetRawInputStream()
and throws an exception. This results in imported email text containing the undecoded quoted printable representations of characters rather than the decoded characters (for example =20 instead of a space).