-
Notifications
You must be signed in to change notification settings - Fork 110
Open
Labels
invalidThis doesn't seem rightThis doesn't seem rightquestionFurther information is requestedFurther information is requested
Description
Describe the bug
We are using the mail-api to parse incoming emails (MimeMessages), we received a particular email with a PDF attachment.
The filename of this attachment is encoded in the Content-Disposition header in a "weird" way.
This leads to the following exception
Stacktrace:
Caused by: jakarta.mail.internet.ParseException: In parameter list <;
filename==?utf-8?Q?XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX--111111111-XXXXXXXXXXXXXXXXXXX?=
=?utf-8?Q?XXXXXXXXXXXXXXXXXXX=2Epdf?=;
filename*0*=utf-8''XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX--111111111-XXXXXXXXXXX;
filename*1*=XXXXXXXXXXXXXXXXXXXXXXXXXXX.pdf>, expected parameter value, got "="
at jakarta.mail.internet.ParameterList.<init>(ParameterList.java:273)
at jakarta.mail.internet.ContentDisposition.<init>(ContentDisposition.java:86)
at jakarta.mail.internet.MimeBodyPart.getDisposition(MimeBodyPart.java:1239)
at jakarta.mail.internet.MimeBodyPart.getDisposition(MimeBodyPart.java:327)
After googling I found that the header is encoded in "Q encoding" (https://en.wikipedia.org/wiki/MIME#Difference_between_Q-encoding_and_quoted-printable) It is also mentioned in RFC2047 (https://www.ietf.org/rfc/rfc2047.txt).
The method jakarta.mail.internet.MimeUtility.decodeText(String etext) is actually able to parse such strings.
To Reproduce
See test cases in attached pull request #688
Expected behavior
See test cases in attached pull request #688
Envorinment:
- Version: 2.0.1
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
invalidThis doesn't seem rightThis doesn't seem rightquestionFurther information is requestedFurther information is requested